Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-2795

Downstream CI: PoC of mirroring images using oc mirror

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • Pipelines 1.9.0
    • QA
    • False
    • None
    • False
    • Pipelines Sprint 259

      Story (Required)

      As a quality engineer I want to mirror only images that are related to the operators that will be used in tests, not whole history.

      Background (Required)

      Now, we run `oc adm catalog mirror` in task https://gitlab.cee.redhat.com/tekton/plumbing/-/blob/master/ci/tasks/generate-build-artifacts.yaml, then filter images that we need https://gitlab.cee.redhat.com/tekton/plumbing/-/blob/master/ci/tasks/generate-build-artifacts.yaml#L190-203.

      This step is sub-optimal. Firstly, it might break when a new image is introduced in operator (e.g. related images in CSV). Secondly, the mapping.txt file contains all images related to OpenShift Pipelines, even very old versions that will not be used which is wasteful.

      Actual mirroring is done in task https://gitlab.cee.redhat.com/tekton/plumbing/-/blob/master/ci/tasks/mirror-operator-images.yaml#L52

      Out of scope

      <Defines what is not included in this story>

      Approach (Required)

      Using image sets and "oc mirror" as documented in https://docs.openshift.com/container-platform/4.12/installing/disconnected_install/installing-mirroring-disconnected.html

      Dependencies

      "oc-mirror" binary in quay.io/openshift-pipeline/ci

      Acceptance Criteria (Mandatory)

      1. CI pipeiines mirror the bare minimum of images, e.g. only 1.9.0 and 1.8.2 images when testing 1.9.0 so that it's possible to test current release and upgrades from previous release.

      INVEST Checklist

      Dependencies identified

      Blockers noted and expected delivery timelines set

      Design is implementable

      Acceptance criteria agreed upon

      Story estimated

      Legend

      Unknown

      Verified

      Unsatisfied

      Done Checklist

      • Code is completed, reviewed, documented and checked in
      • Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      • Continuous Delivery pipeline(s) is able to proceed with new code included
      • Customer facing documentation, API docs etc. are produced/updated, reviewed and published
      • Acceptance criteria are met

              Unassigned Unassigned
              ppitonak Pavol Pitoňák
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: