openshift / oc-mirror

Lifecycle manager for internet-disconnected OpenShift environments
Apache License 2.0
82 stars 80 forks source link

CLID-55: Improve Batch mechanism - ConcurrentWorker implementation #880

Closed sherine-k closed 3 days ago

sherine-k commented 3 weeks ago

Description

This PR switches the Batch implementation to a concurrent batch implementation.

This is a combination of 6 commits.

CLID-55: Create ConcurrentWorker implementation
* Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35
* Introduce progress spinners
* Make sure ConcurrentWorker has similar behavior to Worker and that:
  * It return a valid list of copiedImages from Concurrent Batch
  * Unsafe errors should stop the process
* Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run
* Introduce calls to shouldSkipImage to facilitate later changes
* Introduce --max-parallel-downloads to determine batch size
* Improve error management
* Update docs

Fixes # CLID-55

TODO: based on performance tests results in the doc (v1, 4.16 v2, current), tune maxParallelDownload's default value: V1 4.16 V2 4.16 CLID-55 maxParallelDownloads =80(8//images*10//layers) CLID-55 maxParallelDownloads =48(8//images*6//layers)
40m14s 47m40s 28m36s 39m38s

PS: in between each test, working-dir, ~/.oc-mirror and ~/.local/share/containers/storage are completely cleared.

Type of change

Please delete options that are not relevant.

How Has This Been Tested?

All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. Tested with an imagesetconfig containing:

Expected Outcome

Non regression tests should pass

./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false

2024/06/28 15:54:07  [WARN]   : ⚠️  --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready.
2024/06/28 15:54:07  [INFO]   : 👋 Hello, welcome to oc-mirror
2024/06/28 15:54:07  [INFO]   : ⚙️  setting up the environment for you...
2024/06/28 15:54:07  [INFO]   : 🔀 workflow mode: mirrorToMirror 
2024/06/28 15:54:07  [INFO]   : 🕵️  going to discover the necessary images...
2024/06/28 15:54:07  [INFO]   : 🔍 collecting release images...
2024/06/28 15:54:07  [INFO]   : 🔍 collecting operator images...
2024/06/28 15:54:11  [INFO]   : 🔍 collecting additional images...
2024/06/28 15:54:11  [INFO]   : 🚀 Start copying the images...
2024/06/28 15:54:11  [INFO]   : images to copy 30 
 ✓   1/30 : () oci:///home/skhoury/redhat-index-all 
 ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50…
 ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b…
 ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5…
 ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5…
 ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba…
 ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea…
 ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b…
2024/06/28 15:54:16  [INFO]   : Mirroring is ongoing. No errors.
 ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b…
 ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe…
 ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 
 ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3…
 ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 
 ✓   14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d 
 ✓   15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 
 ✓   16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c 
2024/06/28 15:54:19  [INFO]   : Mirroring is ongoing. No errors.
 ✓   17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 
 ✓   18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 
 ✓   19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 
 ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b 
 ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b 
 ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633…
 ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289…
 ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69…
2024/06/28 15:54:23  [INFO]   : Mirroring is ongoing. No errors.
 ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69…
 ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef…
 ✗   27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror 
 ✓   28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest 
 ✓   29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 
 ✓   30/30 : (7s) docker://hello-world:latest 
2024/06/28 15:54:31  [INFO]   : === Results ===
2024/06/28 15:54:31  [INFO]   : ✅ 26 / 26 operator images mirrored successfully
2024/06/28 15:54:31  [INFO]   : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs
2024/06/28 15:54:31  [ERROR]  : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown
2024/06/28 15:54:31  [INFO]   : 📄 Generating IDMS file...
2024/06/28 15:54:31  [INFO]   : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created
2024/06/28 15:54:31  [INFO]   : 📄 Generating ITMS file...
2024/06/28 15:54:31  [INFO]   : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created
2024/06/28 15:54:31  [INFO]   : 📄 Generating CatalogSource file...
2024/06/28 15:54:31  [INFO]   : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created
2024/06/28 15:54:31  [INFO]   : mirror time     : 24.303702298s
2024/06/28 15:54:31  [WARN]   : [Worker] some errors occurred during the mirroring.
         Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors.
         You may consider:
         * removing images or operators that cause the error from the image set config, and retrying
         * keeping the image set config (images are mandatory for you), and retrying
         * mirroring the failing images manually, if retries also fail.
2024/06/28 15:54:31  [INFO]   : 👋 Goodbye, thank you for using oc-mirror
openshift-ci-robot commented 3 weeks ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): >* Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 >* Introduce a progress bar >* Return a valid list of copiedImages from Concurrent Batch >* Unsafe errors should stop the process > ># Description > >Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. > >Fixes # (issue) > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [ ] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? > >Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration > >## Expected Outcome >Please describe the outcome expected from the tests Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci[bot] commented 3 weeks ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sherine-k

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/openshift/oc-mirror/blob/main/OWNERS)~~ [sherine-k] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
lmzuccarelli commented 2 weeks ago

@sherine-k - this looks really neat - well done, I think Justin's suggestion will go a long way. Also performance looks much better, I timed a single release it took 30 minutes (with the older version), the isc I used included some operators and additionalImages, total time 23 minutes

openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >TODO: append results of performance tests in the doc (v1, 4.16 v2, current) > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >TODO: based on performance tests results in the doc (v1, 4.16 v2, current), tune maxParallelDownload's default value: >|V1 4.16|V2 4.16|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =80(8//images*10//layers)|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =48(8//images*6//layers)| >|---|---|---|---| >||47m40s|39m38s|28m36s| >PS: in between each test, working-dir, ~/.oc-mirror and ~/.local/share/containers/storage are completely cleared. > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >TODO: based on performance tests results in the doc (v1, 4.16 v2, current), tune maxParallelDownload's default value: >|V1 4.16|V2 4.16|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =80(8//images*10//layers)|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =48(8//images*6//layers)| >|---|---|---|---| >||47m40s|39m38s|28m36s| >PS: in between each test, working-dir, ~/.oc-mirror and ~/.local/share/containers/storage are completely cleared. > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >TODO: based on performance tests results in the doc (v1, 4.16 v2, current), tune maxParallelDownload's default value: >|V1 4.16|V2 4.16|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =80(8//images*10//layers)|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =48(8//images*6//layers)| >|---|---|---|---| >||47m40s|28m36s|39m38s| > >PS: in between each test, working-dir, ~/.oc-mirror and ~/.local/share/containers/storage are completely cleared. > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 week ago

@sherine-k: This pull request references CLID-55 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/oc-mirror/pull/880): ># Description >This PR switches the Batch implementation to a concurrent batch implementation. > > This is a combination of 6 commits. > > [CLID-55](https://issues.redhat.com//browse/CLID-55): Create ConcurrentWorker implementation > * Initial work from commit 1239b0b59a96a88b596824041265415f9c1b6b35 > * Introduce progress spinners > * Make sure ConcurrentWorker has similar behavior to Worker and that: > * It return a valid list of copiedImages from Concurrent Batch > * Unsafe errors should stop the process > * Uses "github.com/stretchr/testify/mock" to simulate various errors during concurrent run > * Introduce calls to shouldSkipImage to facilitate later changes > * Introduce --max-parallel-downloads to determine batch size > * Improve error management > * Update docs > >Fixes # [CLID-55](https://issues.redhat.com/browse/CLID-55) > >TODO: based on performance tests results in the doc (v1, 4.16 v2, current), tune maxParallelDownload's default value: >|V1 4.16|V2 4.16|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =80(8//images*10//layers)|[CLID-55](https://issues.redhat.com//browse/CLID-55) maxParallelDownloads =48(8//images*6//layers)| >|---|---|---|---| >|40m14s|47m40s|28m36s|39m38s| > >PS: in between each test, working-dir, ~/.oc-mirror and ~/.local/share/containers/storage are completely cleared. > >## Type of change > >Please delete options that are not relevant. > >- [ ] Bug fix (non-breaking change which fixes an issue) >- [x] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? >All 3 workflows MirrorToDisk, DiskToMirror and MirrorToMirror are operational. >Tested with an imagesetconfig containing: >* 1 release >* several operators from redhat-operator-index >* 4 additional images, with one having an inexisting tag (to force an unsafe error), so that we can view the error handling > >## Expected Outcome >Non regression tests should pass > >``` >./bin/oc-mirror --v2 -c configs_logs/clid55.yaml --workspace file:///home/skhoury/demo docker://localhost:5000 --dest-tls-verify=false > >2024/06/28 15:54:07 [WARN] : ⚠️ --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready. >2024/06/28 15:54:07 [INFO] : 👋 Hello, welcome to oc-mirror >2024/06/28 15:54:07 [INFO] : ⚙️ setting up the environment for you... >2024/06/28 15:54:07 [INFO] : 🔀 workflow mode: mirrorToMirror >2024/06/28 15:54:07 [INFO] : 🕵️ going to discover the necessary images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting release images... >2024/06/28 15:54:07 [INFO] : 🔍 collecting operator images... >2024/06/28 15:54:11 [INFO] : 🔍 collecting additional images... >2024/06/28 15:54:11 [INFO] : 🚀 Start copying the images... >2024/06/28 15:54:11 [INFO] : images to copy 30 > ✓ 1/30 : () oci:///home/skhoury/redhat-index-all > ✓ 2/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-controller-rhel8@sha256:2e0b9332a44d8d9c23e19c7accab0813a651f39210257820db50… > ✓ 3/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-operator-bundle@sha256:01f2ca529d2486f113bcefc9fedce6a6fd07bcb48aaf534394b5b… > ✓ 4/30 : (2s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 5/30 : (1s) docker://registry.redhat.io/albo/aws-load-balancer-rhel8-operator@sha256:16e9ffed36107527a37713ac5bd34a7bc20f042269a81077429fb5… > ✓ 6/30 : (4s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:f11f71448986aa17abec9caadb568a6cc34ef1a7898e6dc20bc6a512830ba… > ✓ 7/30 : (1s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator-metadata@sha256:9a3026584cc3e96dbff43405fb981846ecdf5619e921eafea… > ✓ 8/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… >2024/06/28 15:54:16 [INFO] : Mirroring is ongoing. No errors. > ✓ 9/30 : (3s) docker://registry.redhat.io/3scale-amp2/3scale-rhel7-operator@sha256:36641b0c736155fc7f5f3b67331547c42ea84e3624e37c8fa852a0c36b… > ✓ 10/30 : (3s) docker://registry.redhat.io/3scale-amp2/apicast-gateway-rhel8@sha256:9d92aaf240d6d004b2cf2657fa147be555a25f5d48d28246d08d0effe… > ✓ 11/30 : (3s) docker://registry.redhat.io/3scale-amp2/backend-rhel8@sha256:2b8525c55cfbd5b5d66b50868ebd8fe6f468b10715653d047cdae25fa28e5983 > ✓ 12/30 : (3s) docker://registry.redhat.io/3scale-amp2/memcached-rhel7@sha256:0d1374da513b3b21e061e1039279dbe096aa2c51ff4a149858f9e79b40199a3… > ✓ 13/30 : (3s) docker://registry.redhat.io/3scale-amp2/searchd-rhel7@sha256:64709d0e4c98a83f95f1b557117e73ff9a5fabe5f1bd131c78a8891968016ac1 > ✓ 14/30 : (3s) docker://registry.redhat.io/3scale-amp2/system-rhel7@sha256:bbacff27541b5daceae191fc9f287b8fad98339ac1361894abf0f026eb6b388d > ✓ 15/30 : (3s) docker://registry.redhat.io/3scale-amp2/zync-rhel9@sha256:9a73352e9f47566a9516b6698ee8a66f9b03402fe0257403ad07a3c04451bac3 > ✓ 16/30 : (3s) docker://registry.redhat.io/openshift4/ose-cli@sha256:1a8caae40be21f23ba3cb48b75809a73333907033a6041927aa568b5c9290f3c >2024/06/28 15:54:19 [INFO] : Mirroring is ongoing. No errors. > ✓ 17/30 : (3s) docker://registry.redhat.io/rhel8/mysql-80@sha256:1cb01300fb6b748ddb0599f40765f201d7c9df260d8fb7d5a96f5f0714beeb45 > ✓ 18/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 19/30 : (3s) docker://registry.redhat.io/rhel8/redis-6@sha256:26573f1230a3c7df5475d5968bf6595719950906f8e7594b5394ad6fcab9b0e4 > ✓ 20/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 21/30 : (3s) docker://registry.redhat.io/rhscl/postgresql-10-rhel7@sha256:7e96e0b52b6e62751422e82b5aa79253bb560c751372b07cf173d04db0c52d3b > ✓ 22/30 : (1s) docker://registry.redhat.io/noo/node-observability-agent-rhel8@sha256:a8e60d9f63e2ed0cf1e27309aac54014e3f1efc947b51ca0a9937633… > ✓ 23/30 : (1s) docker://registry.redhat.io/noo/node-observability-operator-bundle-rhel8@sha256:0fbbb0b32adadc5746251103d25bba6bd365b2ff60e289… > ✓ 24/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… >2024/06/28 15:54:23 [INFO] : Mirroring is ongoing. No errors. > ✓ 25/30 : (1s) docker://registry.redhat.io/noo/node-observability-rhel8-operator@sha256:53ba77f648154ac8aca1ae6c83815078dfde211dba1e42f597e69… > ✓ 26/30 : (3s) docker://registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:e3dad360d0351237a16593ca0862652809c41a2127c2f98b9e0a559568ef… > ✗ 27/30 : (7s) docker://registry.redhat.io/ubi8/ubi:oc-mirror > ✓ 28/30 : (3s) docker://registry.redhat.io/ubi8/ubi:latest > ✓ 29/30 : (3s) docker://registry.redhat.io/ubi9/ubi@sha256:20f695d2a91352d4eaa25107535126727b5945bff38ed36a3e59590f495046f0 > ✓ 30/30 : (7s) docker://hello-world:latest >2024/06/28 15:54:31 [INFO] : === Results === >2024/06/28 15:54:31 [INFO] : ✅ 26 / 26 operator images mirrored successfully >2024/06/28 15:54:31 [INFO] : ❌ 3 / 4 addtional images mirrored: Some additional images failed to mirror - please check the logs >2024/06/28 15:54:31 [ERROR] : [Worker] error mirroring image docker://registry.redhat.io/ubi8/ubi:oc-mirror error: initializing source docker://registry.redhat.io/ubi8/ubi:oc-mirror: reading manifest oc-mirror in registry.redhat.io/ubi8/ubi: manifest unknown >2024/06/28 15:54:31 [INFO] : 📄 Generating IDMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/idms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating ITMS file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/itms-oc-mirror.yaml file created >2024/06/28 15:54:31 [INFO] : 📄 Generating CatalogSource file... >2024/06/28 15:54:31 [INFO] : /home/skhoury/demo/working-dir/cluster-resources/cs-redhat-index-all-bbe5cd5f978e.yaml file created >2024/06/28 15:54:31 [INFO] : mirror time : 24.303702298s >2024/06/28 15:54:31 [WARN] : [Worker] some errors occurred during the mirroring. > Please review /home/skhoury/demo/working-dir/logs/mirroring_errors_20240628_155431.txt for a list of mirroring errors. > You may consider: > * removing images or operators that cause the error from the image set config, and retrying > * keeping the image set config (images are mandatory for you), and retrying > * mirroring the failing images manually, if retries also fail. >2024/06/28 15:54:31 [INFO] : 👋 Goodbye, thank you for using oc-mirror >``` Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci[bot] commented 4 days ago

@sherine-k: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
aguidirh commented 3 days ago

/lgtm

openshift-bot commented 3 days ago

[ART PR BUILD NOTIFIER]

This PR has been included in build oc-mirror-plugin-container-v4.17.0-202407021157.p0.gf8eb3f3.assembly.stream.el9 for distgit oc-mirror-plugin. All builds following this will include this PR.