-
Task
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
None
-
None
-
None
-
None
Add a simple CLI-based test to validate that images referenced in the override.yaml file have multiarch support (amd64 and arm64). This test should run using the same trigger mechanism as the existing e2e overrides test.
Why
Override images need to support both AMD64 and ARM64 architectures to work across different platforms. Currently, there's no automated validation to ensure override images contain both architectures in their manifest lists. A simple CLI test can catch this early before deployment.
Acceptance Criteria
- CLI test created using podman or skopeo to inspect image manifest lists
- Test reads images from override.yaml configuration file
- Test validates each override image has a manifest list with at least amd64 and arm64 architectures
- Test fails with clear error message if any image lacks required architectures
- Test runs using the same mechanism as the existing e2e overrides test (run_if_changed: (/overrides\.yaml$))
- Test is faster/simpler than full cluster deployment tests
Technical Details
Tools to use:
- podman manifest inspect - to check manifest lists
- skopeo inspect --raw - alternative approach to inspect manifests
Approach:
- Parse override.yaml to extract image references
- For each image, use podman or skopeo to inspect the manifest list
- Verify the manifest list contains entries for both amd64 and arm64
- Report any images missing required architectures
- Follow the same CI trigger pattern as the existing e2e overrides test
Example validation command:
code
skopeo inspect --raw docker://IMAGE_URL | jq '.manifests[].platform.architecture'
code
CI integration:
- Add test to ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml
- Use run_if_changed: (/overrides\.yaml$) to trigger only when overrides.yaml changes
- Reference existing e2e-aws-override test configuration
- Example pattern:
code - as: e2e-validate-override-multiarch
run_if_changed: (/overrides\.yaml$)
steps:
...
code
Reference
Existing e2e-aws-override test: https://github.com/openshift/release/blob/f9da5517c12581af8fb261a0691dfd6651ab693a/ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml#L221-L231
Additional Context
From Cesar's suggestion: "we need a simpler test to just ensure that any image referenced from the overrides file points to a manifest list that at least has amd64 and arm64 arches. could be a cli test with podman or skopeo"
This test should run using the same trigger mechanism as our existing e2e overrides test to avoid unnecessary overhead.
This is complementary to but separate from the full ARO HCP override deployment test (CNTRLPLANE-1893).