Bug 2087271 - oc-mirror does not check for existing workspace when performing mirror2mirror synchronization
Summary: oc-mirror does not check for existing workspace when performing mirror2mirror...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: oc
Version: 4.11
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 4.11.0
Assignee: Alex
QA Contact: zhou ying
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-17 17:59 UTC by Alex
Modified: 2022-08-10 11:13 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2086962
Environment:
Last Closed: 2022-08-10 11:12:53 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift oc-mirror pull 473 0 None open [WIP] Bug 2087271: fix(mirror): adds sequence checks for mirror to mirror operations 2022-05-18 22:11:03 UTC
Red Hat Product Errata RHSA-2022:5069 0 None None None 2022-08-10 11:13:11 UTC

Description Alex 2022-05-17 17:59:07 UTC
Description of problem:

oc-mirror mirror2mirror synchronizations do not perform the same workspace validation that disk2mirror synchronizations perform.

Version-Release number of selected component (if applicable):

Client Version: version.Info{Major:"", Minor:"", GitVersion:"v0.2.0-alpha.1-37-g76e93be", GitCommit:"76e93be7", GitTreeState:"clean", BuildDate:"2022-05-17T17:55:30Z", GoVersion:"go1.18", Compiler:"gc", Platform:"linux/amd64"}


How reproducible:
100%


Steps to Reproduce:
1. Perform mirror2mirror sync (full) to registry namespace "foo"
2. Perform mirror2mirror sync (diff) to registry namespace "bar"

Actual results:

successfully pushes diff to bar namespace


Expected results:

should produce workspace validation error. 


Additional info:
https://github.com/openshift/oc-mirror/issues/468

Comment 2 zhou ying 2022-06-10 06:23:21 UTC
checked whit latest version , m2m mirror check the sequence order now:

1st mirror with config:
cat filter-quay.yaml 
apiVersion: mirror.openshift.io/v1alpha2
kind: ImageSetConfiguration
storageConfig:
  registry:
    imageURL: localhost:5000/namespace/target
    skipTLS: false
mirror:
  operators:
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11
      packages:
        - name: poison-pill-manager
          channels:
            - name: stable

oc-mirror --config filter-quay.yaml  docker://localhost:5000/foo --dest-use-http
Checking push permissions for localhost:5000
Creating directory: oc-mirror-workspace/src/publish
Creating directory: oc-mirror-workspace/src/v2
Creating directory: oc-mirror-workspace/src/charts
Creating directory: oc-mirror-workspace/src/release-signatures
No metadata detected, creating new workspace
wrote mirroring manifests to oc-mirror-workspace/operators.1654841467/manifests-redhat-operator-index

To upload local images to a registry, run:

	oc adm catalog mirror file://redhat/redhat-operator-index:v4.11 REGISTRY/REPOSITORY
localhost:5000/
  foo/openshift4/poison-pill-manager-operator-bundle
    blobs:
      registry.redhat.io/openshift4/poison-pill-manager-operator-bundle sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B
      registry.redhat.io/openshift4/poison-pill-manager-operator-bundle sha256:f7ed071922f0e7a409a2e2e60054804f13d41c2697dcae720df902c6175762b6 2.483KiB
      registry.redhat.io/openshift4/poison-pill-manager-operator-bundle sha256:54161455904bd0ac5535d1bbd6e6458f338aa74cfdc68c634104d07fbd59b883 125KiB
    manifests:
      sha256:1291a164c9292d228e9e51bd03bf9c578103453b8b3117bf2428efca9f97eefd -> d948e527
  foo/openshift4/poison-pill-manager-rhel8-operator
    blobs:
      registry.redhat.io/openshift4/poison-pill-manager-rhel8-operator sha256:0d875a68bf996a2e45cd381e8eb3c8b1efa6191d8e3f6ec98be685c7e9823815 1.761KiB
      registry.redhat.io/openshift4/poison-pill-manager-rhel8-operator sha256:06b69dee76d0cfdc0dce659d2a5c095ba9865e4783bf23321ed6ca226e04aa60 4.091KiB
      registry.redhat.io/openshift4/poison-pill-manager-rhel8-operator sha256:ccb9abdffd6944b407c3a084a7b4d0a7eca5a97bfb59755b393cfaed12b45513 19.73MiB
      registry.redhat.io/openshift4/poison-pill-manager-rhel8-operator sha256:8dfe9326f733b815c486432e93e0a97f03e90e7cc35def9511cd1efa7f917f56 77.75MiB
    manifests:
      sha256:82730d4ab7980dad55e27e123fe12a3f9cf98144ed422ce2b8a168112adc794d
      sha256:bf7493c90e36d3e1280954199cd3f9aefd8d94da9bfb2683c7c4865abb367948
      sha256:bf7493c90e36d3e1280954199cd3f9aefd8d94da9bfb2683c7c4865abb367948 -> 5275c3ae
  stats: shared=0 unique=7 size=97.61MiB ratio=1.00

phase 0:
  localhost:5000 foo/openshift4/poison-pill-manager-operator-bundle blobs=3 mounts=0 manifests=1 shared=0
  localhost:5000 foo/openshift4/poison-pill-manager-rhel8-operator  blobs=4 mounts=0 manifests=3 shared=0

info: Planning completed in 2.6s
uploading: localhost:5000/foo/openshift4/poison-pill-manager-rhel8-operator sha256:8dfe9326f733b815c486432e93e0a97f03e90e7cc35def9511cd1efa7f917f56 77.75MiB
uploading: localhost:5000/foo/openshift4/poison-pill-manager-operator-bundle sha256:54161455904bd0ac5535d1bbd6e6458f338aa74cfdc68c634104d07fbd59b883 125KiB
uploading: localhost:5000/foo/openshift4/poison-pill-manager-rhel8-operator sha256:ccb9abdffd6944b407c3a084a7b4d0a7eca5a97bfb59755b393cfaed12b45513 19.73MiB
sha256:1291a164c9292d228e9e51bd03bf9c578103453b8b3117bf2428efca9f97eefd localhost:5000/foo/openshift4/poison-pill-manager-operator-bundle:d948e527
sha256:82730d4ab7980dad55e27e123fe12a3f9cf98144ed422ce2b8a168112adc794d localhost:5000/foo/openshift4/poison-pill-manager-rhel8-operator
sha256:bf7493c90e36d3e1280954199cd3f9aefd8d94da9bfb2683c7c4865abb367948 localhost:5000/foo/openshift4/poison-pill-manager-rhel8-operator:5275c3ae
info: Mirroring completed in 5.13s (19.93MB/s)
Rendering catalog image "localhost:5000/foo/redhat/redhat-operator-index:v4.11" with file-based catalog 
Writing image mapping to oc-mirror-workspace/results-1654841557/mapping.txt
Writing CatalogSource manifests to oc-mirror-workspace/results-1654841557
Writing ICSP manifests to oc-mirror-workspace/results-1654841557


2nd mirror :
cat filter-quay.yaml 
apiVersion: mirror.openshift.io/v1alpha2
kind: ImageSetConfiguration
storageConfig:
  registry:
    imageURL: localhost:5000/namespace/target
    skipTLS: false
mirror:
  operators:
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11
      packages:
        - name: poison-pill-manager
          channels:
            - name: stable
        - name: quay-operator
          channels:
            - name: stable-3.7

oc-mirror --config filter-quay.yaml  docker://localhost:5000/bar --dest-use-http
Checking push permissions for localhost:5000
Creating directory: oc-mirror-workspace/src/publish
Creating directory: oc-mirror-workspace/src/v2
Creating directory: oc-mirror-workspace/src/charts
Creating directory: oc-mirror-workspace/src/release-signatures
wrote mirroring manifests to oc-mirror-workspace/operators.1654841793/manifests-redhat-operator-index

To upload local images to a registry, run:

	oc adm catalog mirror file://redhat/redhat-operator-index:v4.11 REGISTRY/REPOSITORY
error: invalid mirror sequence order, want 1, got 2

Comment 3 zhou ying 2022-06-10 06:23:55 UTC
oc-mirror version 
Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.11.0-202206090038.p0.g49a4f17.assembly.stream-49a4f17", GitCommit:"49a4f1789993d90dc9763cb527a57fd70f9ae0e9", GitTreeState:"clean", BuildDate:"2022-06-09T01:20:22Z", GoVersion:"go1.18", Compiler:"gc", Platform:"linux/amd64"}

Comment 5 errata-xmlrpc 2022-08-10 11:12:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: OpenShift Container Platform 4.11.0 bug fix and security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:5069


Note You need to log in before you can comment on or make changes to this bug.