openstack-test: migrate CI config to OTE (openshift-tests-extension), 4.14-4.22#81168
openstack-test: migrate CI config to OTE (openshift-tests-extension), 4.14-4.22#81168danchild wants to merge 1 commit into
Conversation
Summary: - Mirroring combination of PRs: openshift#80335 openshift#80209 openshift#79487 - Releases 4.14 - 4.22 - Original commit message and fix by @mandre Releases: Update the openstack-test main CI configuration to support the OTE migration in: openshift/openstack-test#266 (release-4.22) openshift/openstack-test#267 (release-4.21) openshift/openstack-test#268 (release-4.20) openshift/openstack-test#269 (release-4.19) openshift/openstack-test#271 (release-4.18) openshift/openstack-test#272 (release-4.17) openshift/openstack-test#273 (release-4.16) openshift/openstack-test#274 (release-4.15) openshift/openstack-test#275 (release-4.14) Changes: - binary_build_commands: build OTE extension binary via 'make tests-ext-build', package as tar.gz, and place at /usr/bin/ for payload discovery by openshift-tests - build test: verify the extension binary with --help instead of the removed openstack-tests binary - test/ccpmso jobs: use new openstack-test-openstack-ote step ref - dualstack jobs: override test phase with openshift-e2e-test + openstack-test-openstack-ote (replacing the old chain that used openstack-test-openstack) Dependencies: - step registry ref openstack-test-openstack-ote created in openshift#79487 The old openstack-test-openstack step ref is preserved for older release branches that still use the standalone openstack-tests binary.
|
Skipping CI for Draft Pull Request. |
WalkthroughOpenShift release CI YAML files update the tests-ext build artifact, switch build help invocations to the new binary, and rewrite OpenStack workflow refs and dualstack test lists across release branches. ChangesOpenStack release CI config updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
🚥 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 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: danchild The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/assign @mandre |
|
[REHEARSALNOTIFIER]
A total of 62 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@danchild: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.14.yaml`:
- Around line 1-4: The binary build command for openshift/openstack-test
includes a nonexistent tests-ext-build step and references an artifact that is
not produced on the affected releases. Update the binary_build_commands block to
remove the make tests-ext-build invocation and any dependent gzip command for
bin/openstack-test-tests-ext, keeping only the valid build step(s) used by the
openshift-tests binary path.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: ab9387d1-2965-4dfc-b091-e973bc03ce18
📒 Files selected for processing (9)
ci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.14.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.15.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.16.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.17.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.18.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.19.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.20.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.21.yamlci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.22.yaml
| binary_build_commands: | | ||
| go build -o /bin/openstack-tests ./cmd/openshift-tests && \ | ||
| make tests-ext-build && \ | ||
| gzip -c bin/openstack-test-tests-ext > /usr/bin/openstack-test-tests-ext.gz |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify the tests-ext-build make target exists on each upstream openstack-test release branch.
for b in release-4.14 release-4.15 release-4.16 release-4.17 release-4.18 release-4.19 release-4.20 release-4.21 release-4.22; do
echo "=== $b ==="
content=$(gh api "repos/openshift/openstack-test/contents/Makefile?ref=${b}" --jq '.content' 2>/dev/null | base64 -d 2>/dev/null)
if [ -z "$content" ]; then
echo "Makefile not found on $b"
continue
fi
echo "$content" | grep -nE 'tests-ext-build|openstack-test-tests-ext' || echo "tests-ext-build target NOT found"
doneRepository: openshift/release
Length of output: 641
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect upstream openstack-test Makefiles and surrounding build inputs for the
# release branches mentioned in the review comment.
for b in release-4.14 release-4.15 release-4.16 release-4.17 release-4.18 release-4.19 release-4.20 release-4.21 release-4.22; do
echo "=== $b ==="
api="repos/openshift/openstack-test/contents"
for path in Makefile makefile GNUmakefile hack/Makefile hack/makefile .; do
:
done
# Try common make-related files first.
for path in Makefile GNUmakefile hack/Makefile hack/lib.sh; do
data=$(gh api "${api}/${path}?ref=${b}" --jq '.content // empty' 2>/dev/null | base64 -d 2>/dev/null || true)
if [ -n "${data}" ]; then
printf '%s\n' "$data" | grep -nE 'tests-ext-build|openstack-test-tests-ext|binary_build_commands|go build -o /bin/openstack-tests' || true
fi
done
# Look for any repository paths mentioning tests-ext-build.
tree=$(gh api "repos/openshift/openstack-test/git/trees/${b}?recursive=1" 2>/dev/null || true)
if [ -n "$tree" ]; then
printf '%s\n' "$tree" | jq -r '.tree[]?.path' | grep -n 'tests-ext-build\|openstack-test-tests-ext' || true
fi
doneRepository: openshift/release
Length of output: 344
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect upstream openstack-test Makefiles and surrounding build inputs for the
# release branches mentioned in the review comment.
for b in release-4.14 release-4.15 release-4.16 release-4.17 release-4.18 release-4.19 release-4.20 release-4.21 release-4.22; do
echo "=== $b ==="
api="repos/openshift/openstack-test/contents"
# Try common make-related files first.
for path in Makefile GNUmakefile hack/Makefile hack/lib.sh; do
data=$(gh api "${api}/${path}?ref=${b}" --jq '.content // empty' 2>/dev/null | base64 -d 2>/dev/null || true)
if [ -n "${data}" ]; then
printf '%s\n' "$data" | grep -nE 'tests-ext-build|openstack-test-tests-ext|binary_build_commands|go build -o /bin/openstack-tests' || true
fi
done
# Look for any repository paths mentioning tests-ext-build.
tree=$(gh api "repos/openshift/openstack-test/git/trees/${b}?recursive=1" 2>/dev/null || true)
if [ -n "$tree" ]; then
printf '%s\n' "$tree" | jq -r '.tree[]?.path' | grep -n 'tests-ext-build\|openstack-test-tests-ext' || true
fi
doneRepository: openshift/release
Length of output: 344
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect upstream openstack-test Makefiles and surrounding build inputs for the
# release branches mentioned in the review comment.
for b in release-4.14 release-4.15 release-4.16 release-4.17 release-4.18 release-4.19 release-4.20 release-4.21 release-4.22; do
echo "=== $b ==="
api="repos/openshift/openstack-test/contents"
# Try common make-related files first.
for path in Makefile GNUmakefile hack/Makefile hack/lib.sh; do
data=$(gh api "${api}/${path}?ref=${b}" --jq '.content // empty' 2>/dev/null | base64 -d 2>/dev/null || true)
if [ -n "${data}" ]; then
printf '%s\n' "$data" | grep -nE 'tests-ext-build|openstack-test-tests-ext|binary_build_commands|go build -o /bin/openstack-tests' || true
fi
done
# Look for any repository paths mentioning tests-ext-build.
tree=$(gh api "repos/openshift/openstack-test/git/trees/${b}?recursive=1" 2>/dev/null || true)
if [ -n "$tree" ]; then
printf '%s\n' "$tree" | jq -r '.tree[]?.path' | grep -n 'tests-ext-build\|openstack-test-tests-ext' || true
fi
doneRepository: openshift/release
Length of output: 344
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect upstream openstack-test Makefiles and surrounding build inputs for the
# release branches mentioned in the review comment.
for b in release-4.14 release-4.15 release-4.16 release-4.17 release-4.18 release-4.19 release-4.20 release-4.21 release-4.22; do
echo "=== $b ==="
api="repos/openshift/openstack-test/contents"
# Try common make-related files first.
for path in Makefile GNUmakefile hack/Makefile hack/lib.sh; do
data=$(gh api "${api}/${path}?ref=${b}" --jq '.content // empty' 2>/dev/null | base64 -d 2>/dev/null || true)
if [ -n "${data}" ]; then
printf '%s\n' "$data" | grep -nE 'tests-ext-build|openstack-test-tests-ext|binary_build_commands|go build -o /bin/openstack-tests' || true
fi
done
# Look for any repository paths mentioning tests-ext-build.
tree=$(gh api "repos/openshift/openstack-test/git/trees/${b}?recursive=1" 2>/dev/null || true)
if [ -n "$tree" ]; then
printf '%s\n' "$tree" | jq -r '.tree[]?.path' | grep -n 'tests-ext-build\|openstack-test-tests-ext' || true
fi
doneRepository: openshift/release
Length of output: 344
Remove the tests-ext-build step
openshift/openstack-test does not define tests-ext-build or produce bin/openstack-test-tests-ext on release-4.14 through release-4.22, so this build command will fail as written.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/config/openshift/openstack-test/openshift-openstack-test-release-4.14.yaml`
around lines 1 - 4, The binary build command for openshift/openstack-test
includes a nonexistent tests-ext-build step and references an artifact that is
not produced on the affected releases. Update the binary_build_commands block to
remove the make tests-ext-build invocation and any dependent gzip command for
bin/openstack-test-tests-ext, keeping only the valid build step(s) used by the
openshift-tests binary path.
Summary:
openstack: restore the openstack-tests building #80335
openstack-test: Build both binaries #80209
openstack-test: migrate CI config to OTE (openshift-tests-extension) #79487
Releases:
Update the openstack-test main CI configuration to support the OTE
migration in:
openshift/openstack-test#266 (release-4.22)
openshift/openstack-test#267 (release-4.21)
openshift/openstack-test#268 (release-4.20)
openshift/openstack-test#269 (release-4.19)
openshift/openstack-test#271 (release-4.18)
openshift/openstack-test#272 (release-4.17)
openshift/openstack-test#273 (release-4.16)
openshift/openstack-test#274 (release-4.15)
openshift/openstack-test#275 (release-4.14)
Changes:
tests-ext-build', package as tar.gz, and place at /usr/bin/ for
payload discovery by openshift-tests
removed openstack-tests binary
openstack-test-openstack-ote (replacing the old chain that used
openstack-test-openstack)
Dependencies:
The old openstack-test-openstack step ref is preserved for older release
branches that still use the standalone openstack-tests binary.
Summary by CodeRabbit
Updated the
openstack-testOpenShift CI configuration across release branches 4.14 through 4.22 to support the OTE migration.In practical terms, these CI jobs now:
openshift-testsextension binary withmake tests-ext-build/usr/bin/soopenshift-testscan discover it./bin/openstack-test-tests-ext --helpinstead of the removedopenstack-testsbinaryopenstack-test-openstacktoopenstack-test-openstack-oteopenshift-e2e-testalongside the new OTE refThis keeps the OpenStack CI pipeline aligned with the new extension-based test execution model while preserving older standalone behavior where needed on older branches.