Bug 2095347

Summary: oc-mirror writes helm charts and release signatures to a different results directory
Product: OpenShift Container Platform Reporter: Jennifer Power <jpower>
Component: ocAssignee: Jennifer Power <jpower>
oc sub component: oc-mirror QA Contact: zhou ying <yinzhou>
Status: CLOSED DEFERRED Docs Contact:
Severity: low    
Priority: unspecified CC: jpower, vdinh, yinzhou
Version: 4.11   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-09 01:21:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jennifer Power 2022-06-09 15:28:57 UTC
Description of problem:
oc-mirror writes helm charts and release signatures to a different results directory

Version-Release number of selected component (if applicable):
Client Version: version.Info{Major:"", Minor:"", GitVersion:"v0.2.0-alpha.1-52-g49a4f17", GitCommit:"49a4f178", GitTreeState:"clean", BuildDate:"2022-06-09T15:26:11Z", GoVersion:"go1.17.1", Compiler:"gc", Platform:"linux/amd64"}


How reproducible:
100%


Steps to Reproduce:
1. Generate a config
apiVersion: mirror.openshift.io/v1alpha2
kind: ImageSetConfiguration
mirror:
  helm:
    repositories:
      - name: podinfo
        url: https://stefanprodan.github.io/podinfo
        charts:
          - name: podinfo
            version: 5.0.0
2. oc-mirror --config imageset-config.yaml.helm file://out
3. oc-mirror --from out/mirror_seq1_000000.tar docker://localhost:5001

Actual results:
├── results-1654015879
│   └── charts
│       └── podinfo-5.0.0.tgz
└── results-1654015889
    ├── imageContentSourcePolicy.yaml
    └── mapping.txt

Expected results:
Only one results directory


Additional info:

Comment 2 zhou ying 2022-06-13 06:37:18 UTC
with latest version , still has two results directory:


./oc-mirror version 
Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.11.0-202206101306.p0.g01d488f.assembly.stream-01d488f", GitCommit:"01d488f6b1cbab2a199f41ee03d143658605184f", GitTreeState:"clean", BuildDate:"2022-06-10T16:58:35Z", GoVersion:"go1.18", Compiler:"gc", Platform:"linux/amd64"}


./oc-mirror --from mirror_seq1_000000.tar docker://localhost:5000  --dest-use-http
Checking push permissions for localhost:5000
Publishing image set from archive "mirror_seq1_000000.tar" to registry "localhost:5000"
metadata has single-use label, using stateless mode
metadata has single-use label, using stateless mode
localhost:5000/
  stefanprodan/podinfo
    blobs:
      file://stefanprodan/podinfo sha256:49f791cfca3e59c6094ec94d091473ddd9fe206e9860c0eb37dacbc3bbcccafd 169B
      file://stefanprodan/podinfo sha256:70660e39ee11b715823a96729d7f1b8964ecd6ca2b7c0e3fd5cde284e34758eb 169B
      file://stefanprodan/podinfo sha256:26100ac97b3237b89768d0dac0150c6a2b483a16b0662160df98d03ba25fa474 170B
      file://stefanprodan/podinfo sha256:46f9bc09f2ae8c0a95a69d77cd91527281cf54cd466dbee5ba6b28e05ee68a77 170B
      file://stefanprodan/podinfo sha256:af94dd630ca5e3e15d15502c2a03e386f4c1ef5a59def62e84ede35a009c4110 2.138KiB
      file://stefanprodan/podinfo sha256:f31bf23bf137d6210ce78d1b133bab25ae0daffda0bfff172476479dfcc0b3a1 2.138KiB
      file://stefanprodan/podinfo sha256:5ad5a4942ddf238ce385d4b29eaa3b2d5f8836de538918d7da9a839c8313fd46 2.139KiB
      file://stefanprodan/podinfo sha256:a92dcc7bd9c9c1369ef92728f7649e3ec868b53b7b38ab2a4bddc525f74896a8 2.139KiB
      file://stefanprodan/podinfo sha256:3f161edc88f5ebe6db761902c3e563f450a8f373f58f6f9f59a13a7954f57d90 3.28KiB
      file://stefanprodan/podinfo sha256:4d4b85daa42ca075d8aff8563d14434799268a4b823e74737171ed438f8c60ad 3.281KiB
      file://stefanprodan/podinfo sha256:c72bf53b697715cd03c3f3dc6fd6d2bccb4b10e511c2847eb98e312d28850e48 3.293KiB
      file://stefanprodan/podinfo sha256:d476ce7797cc1558919a31a1cccd9b09f48ea2787982ccd3c2576252450d2d51 3.294KiB
      file://stefanprodan/podinfo sha256:1dc2a2c4dd124cf83f27e6d8852303f7874507b71a3f7b6a1265837b43279092 676.4KiB
      file://stefanprodan/podinfo sha256:8d0157f7a4ed4136f430f737f0f79d650248e19ebd87371f1ae1735536f0eaf2 722.5KiB
      file://stefanprodan/podinfo sha256:58445347cff86791f89717f3bf79ec6f597d146397d9e78136cf9e937f363555 727.5KiB
      file://stefanprodan/podinfo sha256:342a15c43afd15b4d93051022ecf020ea6fde1e14d34599f5b4c10a8a5bae3c6 732.4KiB
      file://stefanprodan/podinfo sha256:52278dd8e57993669c5b72a9620e89bebdc098f2af2379caaa8945f7403f77a2 2.295MiB
      file://stefanprodan/podinfo sha256:b4b72e716706d29f5d2351709c20bf737b94f876a5472a43ff1b6e203c65d27f 2.483MiB
      file://stefanprodan/podinfo sha256:b538f80385f9b48122e3da068c932a96ea5018afa3c7be79da00437414bd18cd 2.583MiB
      file://stefanprodan/podinfo sha256:df20fa9351a15782c64e6dddb2d4a6f50bf6d3688060a34c4014b0d9a752eb4c 2.668MiB
      file://stefanprodan/podinfo sha256:c5338ca295456f5c677bf8910ac94765be2f53977af6bd792f18a2298054d6be 4.689MiB
      file://stefanprodan/podinfo sha256:87875760340f78f13107842911184c55308475062940399772e7944138879704 4.738MiB
      file://stefanprodan/podinfo sha256:61a5adb16b8c308ed6481d3abac7e08035f09d936f2a1ecad0bd2000a18464b9 4.742MiB
      file://stefanprodan/podinfo sha256:36821795adb1d93e34b9835d2cd738738e0a7fb99b6232f00f69a0146f6db7fa 5.122MiB
      file://stefanprodan/podinfo sha256:f553d3748799c35aa60227875706f727a526a1d4c7840a5d550cdb4ba6cd5196 7.385MiB
      file://stefanprodan/podinfo sha256:337fc839f463fd6b6d1773e0b8f2f9d40b3a8dff6963008193344cd29466a3d1 7.387MiB
      file://stefanprodan/podinfo sha256:7c120a97d24392c377b955ca42f09fc04942aecff3f0a007d31ebd20c185958a 7.454MiB
      file://stefanprodan/podinfo sha256:6121cb3c461255702c8b8ef03ed4b13061c0c600b20c7664ce82815ed15febbd 7.456MiB
      file://stefanprodan/podinfo sha256:21d0f0a83af189ace4e566f1520e8ac5a404adda15edb534ee79a994bdd94abe 7.457MiB
      file://stefanprodan/podinfo sha256:317a9dc239a3310e2010e6e1c4f2a87b4b2c53f49ca5231c031227540ef91d0b 7.459MiB
      file://stefanprodan/podinfo sha256:b83c8811a2df5586918135a8bab5304c9c6f0c0a3b103c4b3ceb4515d2c480a5 7.88MiB
      file://stefanprodan/podinfo sha256:59064015f738a38367ca0ef7083840f3f1dbc579aa208071b4fb6b022a48d89a 7.882MiB
    manifests:
      sha256:60f5921e0f6a21a485a0a4e9415761afb5b60814bbe8a6864cb12b90ae24c1d0
      sha256:9574416689665a82cb4eaf43463da5b6156071ebbec117262eef7fa32b4d7021
      sha256:b8a825862d73b2f1110dd9c5fc0631f47117c7cd99e42efa34244cd82bd6742f
      sha256:bab3a6153010b614c8764548f0dbe34c4a7dce4ea278a94713c3e9a936bb74e6
      sha256:d15a206e4ee462e82ab722ed84dfa514ab9ed8d85100d591c04314ae7c2162ee
      sha256:d15a206e4ee462e82ab722ed84dfa514ab9ed8d85100d591c04314ae7c2162ee -> 5.0.0
  stats: shared=0 unique=32 size=92.49MiB ratio=1.00

phase 0:
  localhost:5000 stefanprodan/podinfo blobs=32 mounts=0 manifests=6 shared=0

info: Planning completed in 40ms
uploading: localhost:5000/stefanprodan/podinfo sha256:8d0157f7a4ed4136f430f737f0f79d650248e19ebd87371f1ae1735536f0eaf2 722.5KiB
uploading: localhost:5000/stefanprodan/podinfo sha256:59064015f738a38367ca0ef7083840f3f1dbc579aa208071b4fb6b022a48d89a 7.882MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:6121cb3c461255702c8b8ef03ed4b13061c0c600b20c7664ce82815ed15febbd 7.456MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:7c120a97d24392c377b955ca42f09fc04942aecff3f0a007d31ebd20c185958a 7.454MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:87875760340f78f13107842911184c55308475062940399772e7944138879704 4.738MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:b538f80385f9b48122e3da068c932a96ea5018afa3c7be79da00437414bd18cd 2.583MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:21d0f0a83af189ace4e566f1520e8ac5a404adda15edb534ee79a994bdd94abe 7.457MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:342a15c43afd15b4d93051022ecf020ea6fde1e14d34599f5b4c10a8a5bae3c6 732.4KiB
uploading: localhost:5000/stefanprodan/podinfo sha256:52278dd8e57993669c5b72a9620e89bebdc098f2af2379caaa8945f7403f77a2 2.295MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:337fc839f463fd6b6d1773e0b8f2f9d40b3a8dff6963008193344cd29466a3d1 7.387MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:61a5adb16b8c308ed6481d3abac7e08035f09d936f2a1ecad0bd2000a18464b9 4.742MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:f553d3748799c35aa60227875706f727a526a1d4c7840a5d550cdb4ba6cd5196 7.385MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:df20fa9351a15782c64e6dddb2d4a6f50bf6d3688060a34c4014b0d9a752eb4c 2.668MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:36821795adb1d93e34b9835d2cd738738e0a7fb99b6232f00f69a0146f6db7fa 5.122MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:317a9dc239a3310e2010e6e1c4f2a87b4b2c53f49ca5231c031227540ef91d0b 7.459MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:58445347cff86791f89717f3bf79ec6f597d146397d9e78136cf9e937f363555 727.5KiB
uploading: localhost:5000/stefanprodan/podinfo sha256:c5338ca295456f5c677bf8910ac94765be2f53977af6bd792f18a2298054d6be 4.689MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:b83c8811a2df5586918135a8bab5304c9c6f0c0a3b103c4b3ceb4515d2c480a5 7.88MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:b4b72e716706d29f5d2351709c20bf737b94f876a5472a43ff1b6e203c65d27f 2.483MiB
uploading: localhost:5000/stefanprodan/podinfo sha256:1dc2a2c4dd124cf83f27e6d8852303f7874507b71a3f7b6a1265837b43279092 676.4KiB
sha256:b8a825862d73b2f1110dd9c5fc0631f47117c7cd99e42efa34244cd82bd6742f localhost:5000/stefanprodan/podinfo
sha256:60f5921e0f6a21a485a0a4e9415761afb5b60814bbe8a6864cb12b90ae24c1d0 localhost:5000/stefanprodan/podinfo
sha256:9574416689665a82cb4eaf43463da5b6156071ebbec117262eef7fa32b4d7021 localhost:5000/stefanprodan/podinfo
sha256:bab3a6153010b614c8764548f0dbe34c4a7dce4ea278a94713c3e9a936bb74e6 localhost:5000/stefanprodan/podinfo
sha256:d15a206e4ee462e82ab722ed84dfa514ab9ed8d85100d591c04314ae7c2162ee localhost:5000/stefanprodan/podinfo:5.0.0
info: Mirroring completed in 8.49s (11.41MB/s)
Wrote release signatures to oc-mirror-workspace/results-1655101915
Writing image mapping to oc-mirror-workspace/results-1655101915/mapping.txt
Writing ICSP manifests to oc-mirror-workspace/results-1655101915
[root@localhost ocmirrortest]# 
[root@localhost ocmirrortest]# ll 
total 210476
-rw-rw-r--. 1 root root       246 Jun 13 14:20 helm.yaml
-rw-rw-r--. 1 root root      6151 May 17 19:54 install-config.yaml
-rw-rw-r--. 1 root root     12280 May 17 11:15 kubeconfig
-rw-rw-r--. 1 root root  97059328 Jun 13 14:27 mirror_seq1_000000.tar
-rwxr-xr-x. 1 root root 118425584 Jun 13 14:27 oc-mirror
drwxrwxr-x. 4 root root      4096 Jun 13 14:32 oc-mirror-workspace
drwxrwxr-x. 3 root root      4096 Jun  8 21:09 out
-rw-rw-r--. 1 root root       158 Jun  8 21:07 packageonly.yaml
[root@localhost ocmirrortest]# tree oc-mirror-workspace
oc-mirror-workspace
├── results-1655101863
│   └── charts
│       └── podinfo-5.0.0.tgz
└── results-1655101915
    ├── charts
    │   └── podinfo-5.0.0.tgz
    ├── imageContentSourcePolicy.yaml
    ├── mapping.txt
    └── release-signatures

5 directories, 4 files

Comment 4 Jennifer Power 2022-06-14 15:57:32 UTC
@yinzhou Thanks for finding this.

I am having trouble reproducing this with the latest nightly. Are you able to reliably reproduce this issue? If so, can you please tell me how?

Comment 5 zhou ying 2022-06-16 08:22:47 UTC
Use this configset:

apiVersion: mirror.openshift.io/v1alpha2
kind: ImageSetConfiguration
mirror:
  helm:
    repositories:
      - name: podinfo
        url: https://stefanprodan.github.io/podinfo
        charts:
          - name: podinfo
            version: 5.0.0

`oc-mirror --config configsetname file://`   to mirror to localdisk;

`oc-mirror --from mirror_seq1_000000.tar docker://localhost:5000  --dest-use-http` to mirror from disk to registry

Comment 6 Jennifer Power 2022-06-16 20:12:37 UTC
@yinzhou I was not able to reproduce this with that config and workflow running it about 15 times. How often can you reproduce this bug?

Comment 8 Shiftzilla 2023-03-09 01:21:10 UTC
OpenShift has moved to Jira for its defect tracking! This bug can now be found in the OCPBUGS project in Jira.

https://issues.redhat.com/browse/OCPBUGS-9311

Comment 9 Red Hat Bugzilla 2023-09-18 04:39:00 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days