Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v4.16 & v4.17] oc-mirror do not stop on error even if we do not use the "--continue-on-error" option #999

Open
sdesousadti opened this issue Jan 10, 2025 · 0 comments

Comments

@sdesousadti
Copy link

sdesousadti commented Jan 10, 2025

Version

$ oc-mirror version
Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.16.0-202412042304.p0.g819f011.assembly.stream.el9-819f011", GitCommit:"819f0115e4be3f55ed7d4edae1c38035811771ae", GitTreeState:"clean", BuildDate:"2024-12-05T01:11:28Z", GoVersion:"go1.21.13 (Red Hat 1.21.13-3.module+el8.10.0+22345+acdd8d0e) X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"}

What happened?

The oc mirror command continue on error and generate the TAR file at the end (even if we do not use the "--continue-on-error" option).

Relevant command output:

info: Mirroring completed in 3h2m47.22s (8.787MB/s)
error: one or more errors occurred
error: one or more errors occurred
error: one or more errors occurred
Creating archive /srv/oc-mirror/imagesets/current-working-dir/mirror_seq1_000000.tar

What did you expect to happen?

If we do not use the "--continue-on-error" option, oc-mirror should stop the TAR file creation process.

How to reproduce it (as minimally and precisely as possible)?

Run the following oc mirror command (with v4.16 or v4.17 versions of oc-mirror):

oc mirror --ignore-history --max-per-registry 12 --config=imageset-config.yaml file://current-working-dir

With the following imageset-config.yaml:

kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
mirror:
  platform:
    architectures:
      - amd64
    channels:
      - name: stable-4.16
        type: ocp
        minVersion: 4.16.27
        maxVersion: 4.16.27
        shortestPath: true
    graph: true
  operators:
    - catalog: registry.redhat.io/redhat/certified-operator-index:v4.16
      packages:
        - name: crunchy-postgres-operator
          channels:
            - name: v5
              minVersion: 5.7.2
              maxVersion: 5.7.2
        - name: f5-bigip-ctlr-operator
          channels:
            - name: stable
              minVersion: 1.19.0
              maxVersion: 1.19.0
        - name: gpu-operator-certified
          channels:
            - name: v24.9
              minVersion: 24.9.1
              maxVersion: 24.9.1
    - catalog: registry.redhat.io/redhat/redhat-marketplace-index:v4.16
      packages:
        - name: k10-kasten-operator-term-rhmp
          channels:
            - name: stable
              minVersion: 7.0.14
              maxVersion: 7.0.14
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.16
      packages:
        - name: amq-broker-rhel8
          channels:
            - name: 7.12.x
              minVersion: 7.12.3-opr-1
              maxVersion: 7.12.3-opr-1
        - name: amq-streams
          channels:
            - name: stable
              minVersion: 2.8.0-0
              maxVersion: 2.8.0-0
        - name: cincinnati-operator
          channels:
            - name: v1
              minVersion: 5.0.3
              maxVersion: 5.0.3
        - name: cluster-logging
          channels:
            - name: stable-6.1
              minVersion: 6.1.0
              maxVersion: 6.1.0
        - name: compliance-operator
          channels:
            - name: stable
              minVersion: 1.6.1
              maxVersion: 1.6.1
        - name: kubernetes-nmstate-operator
          channels:
            - name: stable
              minVersion: 4.16.0-202412180105
              maxVersion: 4.16.0-202412180105
        - name: kubevirt-hyperconverged
          channels:
            - name: stable
              minVersion: 4.16.5
              maxVersion: 4.16.5
        - name: local-storage-operator
          channels:
            - name: stable
              minVersion: 4.16.0-202412170135
              maxVersion: 4.16.0-202412170135
        - name: loki-operator
          channels:
            - name: stable-6.1
              minVersion: 6.1.0
              maxVersion: 6.1.0
        - name: metallb-operator
          channels:
            - name: stable
              minVersion: 4.16.0-202412170135
              maxVersion: 4.16.0-202412170135
        - name: nfd
          channels:
            - name: stable
              minVersion: 4.16.0-202412170135
              maxVersion: 4.16.0-202412170135
        - name: odf-operator
          channels:
            - name: stable-4.16
              minVersion: 4.16.5-rhodf
              maxVersion: 4.16.5-rhodf
        - name: openshift-gitops-operator
          channels:
            - name: latest
              minVersion: 1.15.0
              maxVersion: 1.15.0
        - name: rhbk-operator
          channels:
            - name: stable-v26.0
              minVersion: 26.0.7-opr.1
              maxVersion: 26.0.7-opr.1
  additionalImages:
    - name: registry.access.redhat.com/rhscl/postgresql-10-rhel7:1-171.1679308154
    - name: quay.io/gpte-devops-automation/gitea:1.20.0
    - name: registry.redhat.io/openshift4/ose-cli:v4.12.0-202401290832.p0.gd4c9e3c.assembly.stream
    - name: registry.redhat.io/openshift4/ose-cli:v4.14.0-202405222237.p0.gf7b14a9.assembly.stream.el8
    - name: ghcr.io/kanisterio/mongodb:0.99.0
    - name: ghcr.io/kanisterio/mongodb:0.100.0
    - name: ghcr.io/kanisterio/mongodb:0.101.0
    - name: ghcr.io/kanisterio/mongodb:0.102.0
    - name: ghcr.io/kanisterio/mongodb:0.103.0
    - name: ghcr.io/kanisterio/mongodb:0.104.0
    - name: ghcr.io/kanisterio/mongodb:0.105.0
    - name: ghcr.io/kanisterio/mongodb:0.106.0
    - name: ghcr.io/kanisterio/mongodb:0.107.0
    - name: ghcr.io/kanisterio/mongodb:0.108.0
    - name: ghcr.io/kanisterio/mongodb:0.109.0
    - name: ghcr.io/kanisterio/mongodb:0.110.0
    - name: ghcr.io/kanisterio/mongodb:0.111.0
    - name: ghcr.io/kanisterio/mongodb:0.112.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.99.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.100.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.101.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.102.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.103.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.104.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.105.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.106.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.107.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.108.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.109.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.110.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.111.0
    - name: ghcr.io/kanisterio/postgres-kanister-tools:0.112.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.99.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.100.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.101.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.102.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.103.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.104.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.105.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.106.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.107.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.108.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.109.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.110.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.111.0
    - name: ghcr.io/kanisterio/kanister-kubectl-1.18:0.112.0
    - name: ghcr.io/kanisterio/kanister-tools:0.99.0
    - name: ghcr.io/kanisterio/kanister-tools:0.100.0
    - name: ghcr.io/kanisterio/kanister-tools:0.101.0
    - name: ghcr.io/kanisterio/kanister-tools:0.102.0
    - name: ghcr.io/kanisterio/kanister-tools:0.103.0
    - name: ghcr.io/kanisterio/kanister-tools:0.104.0
    - name: ghcr.io/kanisterio/kanister-tools:0.105.0
    - name: ghcr.io/kanisterio/kanister-tools:0.106.0
    - name: ghcr.io/kanisterio/kanister-tools:0.107.0
    - name: ghcr.io/kanisterio/kanister-tools:0.108.0
    - name: ghcr.io/kanisterio/kanister-tools:0.109.0
    - name: ghcr.io/kanisterio/kanister-tools:0.110.0
    - name: ghcr.io/kanisterio/kanister-tools:0.111.0
    - name: ghcr.io/kanisterio/kanister-tools:0.112.0
    - name: docker.io/goharbor/harbor-exporter:v2.11.0
    - name: docker.io/goharbor/nginx-photon:v2.11.0
    - name: docker.io/busybox:1.31.1
    - name: quay.io/kiwigrid/k8s-sidecar:1.25.2
    - name: ghcr.io/dexidp/dex:v2.40.0
    - name: registry.redhat.io/ubi8/ubi:8.6-990
    - name: registry.redhat.io/ubi8/toolbox:8.6-29.1667214570
    - name: registry.redhat.io/openshift4/driver-toolkit-rhel8:v4.12.0-202402162037.p0.g6e5c04c.assembly.stream.el8
  helm:
    repositories:
      - name: bitnami
        url: https://charts.bitnami.com/bitnami
        charts:
          - name: gitea
            version: 2.3.18
          - name: harbor
            version: 23.0.2
          - name: mongodb
            version: 14.3.1
          - name: postgresql
            version: 15.2.2
          - name: postgresql-ha
            version: 14.2.12
          - name: sealed-secrets
            version: 2.3.5
      - name: gitea-charts
        url: https://dl.gitea.com/charts/
        charts:
          - name: gitea
            version: 10.4.0
      - name: grafana
        url: https://grafana.github.io/helm-charts
        charts:
          - name: grafana
            version: 7.2.5
      - name: harbor
        url: https://helm.goharbor.io
        charts:
          - name: harbor
            version: 1.15.0
      - name: prometheus-community
        url: https://prometheus-community.github.io/helm-charts
        charts:
          - name: prometheus-blackbox-exporter
            version: 8.17.0

Anything else we need to know?

  • Same issue observed with oc-mirror 4.17
    $ oc mirror version
    Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.17.0-202412170235.p0.g07714b7.assembly.stream.el9-07714b7", GitCommit:"07714b7c836ec3ad1b776f25b44c3b2c2f083aa2", GitTreeState:"clean", BuildDate:"2024-12-17T20:23:21Z", GoVersion:"go1.22.9 (Red Hat 1.22.9-1.module+el8.10.0+22500+aee717ef) X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"}
  • It works as expected with the following oc-mirror version (4.14):
    $ oc-mirror version
    Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.14.0-202407021509.p0.ga0733c1.assembly.stream.el8-a0733c1", GitCommit:"a0733c17322f96d14f9158604fe74f1bfecc4a53", GitTreeState:"clean", BuildDate:"2024-07-02T19:52:56Z", GoVersion:"go1.20.12 X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"}
@sdesousadti sdesousadti changed the title [v4.16] oc-mirror do not stop on error even if we do not use the "--continue-on-error" option [v4.16 & v4.17] oc-mirror do not stop on error even if we do not use the "--continue-on-error" option Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant