medik8s: centralize workload image and mirror for disconnected - #82523
Conversation
WalkthroughThe medik8s test setup shares a centralized workload image, exports it in test jobs, mirrors it for disconnected environments, and applies an ImageTagMirrorSet for cluster pulls. ChangesMedik8s workload image flow
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested labels: Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant medik8s-lib.sh
participant SHARED_DIR
participant TestJob
participant oc-mirror
participant Cluster
medik8s-lib.sh->>SHARED_DIR: Write workload_image
TestJob->>SHARED_DIR: Read workload_image
TestJob->>oc-mirror: Add WORKLOAD_IMAGE to mirror configuration
oc-mirror->>Cluster: Apply generated mirror mappings
Cluster->>Cluster: Apply medik8s-workload-image ImageTagMirrorSet
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1056293 to
e151a5f
Compare
e151a5f to
5634855
Compare
The medik8s E2E destructive tests create workload pods using registry.access.redhat.com/ubi9/ubi-minimal to verify pod eviction after node remediation. On disconnected clusters this registry is unreachable. Changes: - medik8s-lib: write workload image to SHARED_DIR/workload_image (single source of truth for all environments) - Connected config (4.22-konflux): export WORKLOAD_IMAGE from SHARED_DIR in all 14 e2e-test steps; add medik8s-lib ref to SBR-EFS job that was using individual steps instead of the medik8s-setup chain - Disconnected config (4.22-disconnected): export WORKLOAD_IMAGE from SHARED_DIR in both e2e-test steps (already present) - Disconnected catalogsource step: add additionalImages for ubi-minimal in oc-mirror config; create ImageTagMirrorSet so CRI-O redirects pulls to the bastion mirror (kueue-operator pattern) To change the workload image: edit ONE line in medik8s-lib-commands.sh and (for disconnected) the additionalImages entry. Both are in this repo, same PR. Companion PR: medik8s/system-tests#60 Co-Authored-By: Claude <noreply@anthropic.com>
5634855 to
ceaaca4
Compare
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: razo7, ugreener The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/pj-rehearse ack |
|
@ugreener: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
6be15ef
into
openshift:main
…shift#82523) The medik8s E2E destructive tests create workload pods using registry.access.redhat.com/ubi9/ubi-minimal to verify pod eviction after node remediation. On disconnected clusters this registry is unreachable. Changes: - medik8s-lib: write workload image to SHARED_DIR/workload_image (single source of truth for all environments) - Connected config (4.22-konflux): export WORKLOAD_IMAGE from SHARED_DIR in all 14 e2e-test steps; add medik8s-lib ref to SBR-EFS job that was using individual steps instead of the medik8s-setup chain - Disconnected config (4.22-disconnected): export WORKLOAD_IMAGE from SHARED_DIR in both e2e-test steps (already present) - Disconnected catalogsource step: add additionalImages for ubi-minimal in oc-mirror config; create ImageTagMirrorSet so CRI-O redirects pulls to the bastion mirror (kueue-operator pattern) To change the workload image: edit ONE line in medik8s-lib-commands.sh and (for disconnected) the additionalImages entry. Both are in this repo, same PR. Companion PR: medik8s/system-tests#60 Co-authored-by: Claude <noreply@anthropic.com>
…shift#82523) The medik8s E2E destructive tests create workload pods using registry.access.redhat.com/ubi9/ubi-minimal to verify pod eviction after node remediation. On disconnected clusters this registry is unreachable. Changes: - medik8s-lib: write workload image to SHARED_DIR/workload_image (single source of truth for all environments) - Connected config (4.22-konflux): export WORKLOAD_IMAGE from SHARED_DIR in all 14 e2e-test steps; add medik8s-lib ref to SBR-EFS job that was using individual steps instead of the medik8s-setup chain - Disconnected config (4.22-disconnected): export WORKLOAD_IMAGE from SHARED_DIR in both e2e-test steps (already present) - Disconnected catalogsource step: add additionalImages for ubi-minimal in oc-mirror config; create ImageTagMirrorSet so CRI-O redirects pulls to the bastion mirror (kueue-operator pattern) To change the workload image: edit ONE line in medik8s-lib-commands.sh and (for disconnected) the additionalImages entry. Both are in this repo, same PR. Companion PR: medik8s/system-tests#60 Co-authored-by: Claude <noreply@anthropic.com>
…shift#82523) The medik8s E2E destructive tests create workload pods using registry.access.redhat.com/ubi9/ubi-minimal to verify pod eviction after node remediation. On disconnected clusters this registry is unreachable. Changes: - medik8s-lib: write workload image to SHARED_DIR/workload_image (single source of truth for all environments) - Connected config (4.22-konflux): export WORKLOAD_IMAGE from SHARED_DIR in all 14 e2e-test steps; add medik8s-lib ref to SBR-EFS job that was using individual steps instead of the medik8s-setup chain - Disconnected config (4.22-disconnected): export WORKLOAD_IMAGE from SHARED_DIR in both e2e-test steps (already present) - Disconnected catalogsource step: add additionalImages for ubi-minimal in oc-mirror config; create ImageTagMirrorSet so CRI-O redirects pulls to the bastion mirror (kueue-operator pattern) To change the workload image: edit ONE line in medik8s-lib-commands.sh and (for disconnected) the additionalImages entry. Both are in this repo, same PR. Companion PR: medik8s/system-tests#60 Co-authored-by: Claude <noreply@anthropic.com>
Summary
Centralize the workload image used by medik8s E2E destructive tests into a single source of truth (
medik8s-libstep), and mirror it for disconnected clusters. This fixes disconnected FAR CI failures whereopenshift/tools:latestwas unavailable (Cluster Samples Operator is Removed on air-gapped clusters).Changes
registry.access.redhat.com/ubi9/ubi-minimal:latesttoSHARED_DIR/workload_image(single source of truth for all environments)4.22-konflux.yaml): All 14 e2e-test steps exportWORKLOAD_IMAGEfrom the SHARED_DIR file; addmedik8s-libref to SBR-EFS weekly job (was missing it)4.22-disconnected.yaml): Both e2e-test steps exportWORKLOAD_IMAGEfrom the SHARED_DIR fileadditionalImagesforubi9/ubi-minimalto oc-mirror config; create explicitImageTagMirrorSetso CRI-O redirects pulls to the bastion mirror (follows the kueue-operator pattern)To change the workload image in the future: edit ONE line in
medik8s-lib-commands.shand theadditionalImagesentry in the disconnected catalogsource step. Both in this repo, one PR.Companion PR: medik8s/system-tests#60