hypershift-kubevirt: debug ODF installation on <=4.19 - #83147
Conversation
Signed-off-by: Oren Cohen <ocohen@redhat.com>
WalkthroughThe ODF installation fallback now waits six hours after detecting an unavailable ChangesODF installation fallback
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: orenc1 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 |
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/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-commands.sh`:
- Line 28: Replace the fixed `sleep 6h` in the HyperShift KubeVirt ODF install
flow with bounded polling that repeatedly checks `odf-operator` package
availability. Proceed as soon as the package appears; only after the polling
limit is reached should the script create the ODF 4.23 fallback resources.
🪄 Autofix
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: 987848b4-a6a1-4513-af48-0748550476f7
📒 Files selected for processing (1)
ci-operator/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-commands.sh
| -o jsonpath='{.items[?(@.metadata.name=="odf-operator")].status.channels[*].name}' | tr ' ' '\n' | sort -V | tail -1) | ||
| else | ||
| echo "odf-operator package not found in ${ODF_SUBSCRIPTION_SOURCE} catalog, creating ODF 4.23 catalog source with ICSP" | ||
| sleep 6h |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Find workflow timeout settings and all callers of the ODF installation step.
rg -n -C 6 \
'hypershift-kubevirt-install-odf|active_deadline_seconds|timeout:|timeout=' \
--glob '*.yaml' --glob '*.yml' .Repository: openshift/release
Length of output: 50374
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the step definition, command script, and exact workflow references.
printf '%s\n' '--- step files ---'
fd -i 'hypershift-kubevirt-install-odf' ci-operator/step-registry | sort
printf '%s\n' '--- command script ---'
cmd='ci-operator/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-commands.sh'
cat -n "$cmd"
printf '%s\n' '--- exact references ---'
rg -n -C 12 --glob '*.yaml' --glob '*.yml' \
'hypershift-kubevirt-install-odf' \
ci-operator/config ci-operator/jobs ci-operator/step-registryRepository: openshift/release
Length of output: 50373
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- step files ---'
fd -i 'hypershift-kubevirt-install-odf' ci-operator/step-registry | sort
printf '%s\n' '--- command script ---'
cmd='ci-operator/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-commands.sh'
cat -n "$cmd"
printf '%s\n' '--- exact references ---'
rg -n -C 12 --glob '*.yaml' --glob '*.yml' \
'hypershift-kubevirt-install-odf' \
ci-operator/config ci-operator/jobs ci-operator/step-registryRepository: openshift/release
Length of output: 50373
🏁 Script executed:
#!/bin/bash
set -euo pipefail
step='ci-operator/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-ref.yaml'
printf '%s\n' '--- step definition ---'
cat -n "$step"
printf '%s\n' '--- workflow timeout and ordering ---'
for f in \
ci-operator/step-registry/hypershift/kubevirt/e2e-aws/hypershift-kubevirt-e2e-aws-workflow.yaml \
ci-operator/step-registry/hypershift/kubevirt/e2e-aws/capk/hypershift-kubevirt-e2e-aws-capk-workflow.yaml \
ci-operator/step-registry/hypershift/mce/kubevirt/conformance/hypershift-mce-kubevirt-conformance-workflow.yaml \
ci-operator/step-registry/hypershift/mce/kubevirt/azure/conformance/hypershift-mce-kubevirt-azure-conformance-workflow.yaml \
ci-operator/step-registry/hypershift/mce/ibmz/conformance-s390xmgmt-kubevirt/hypershift-mce-ibmz-conformance-s390xmgmt-kubevirt-workflow.yaml \
ci-operator/step-registry/hypershift/mce/ibmz/openshift-e2e-test-s390xmgmt-kubevirt/hypershift-mce-ibmz-openshift-e2e-test-s390xmgmt-kubevirt-workflow.yaml
do
if [[ -f "$f" ]]; then
echo "--- $f ---"
cat -n "$f" | sed -n '1,45p'
fi
done
printf '%s\n' '--- direct periodics using the step ---'
rg -l --glob '*.yaml' --glob '*.yml' \
'ref: hypershift-kubevirt-install-odf' \
ci-operator/config ci-operator/jobs |
sort |
while read -r f; do
echo "--- $f ---"
rg -n -C 8 'ref: hypershift-kubevirt-install-odf|timeout:' "$f"
doneRepository: openshift/release
Length of output: 20790
Replace the six-hour sleep with bounded polling.
This step runs before HyperShift installation and e2e tests. The sleep 6h can consume the workflow timeout. The script does not recheck odf-operator after sleeping, so a package that appears during the delay still triggers the ODF 4.23 fallback. Poll for package availability and create fallback resources only when the package remains unavailable.
🤖 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/step-registry/hypershift/kubevirt/install/odf/hypershift-kubevirt-install-odf-commands.sh`
at line 28, Replace the fixed `sleep 6h` in the HyperShift KubeVirt ODF install
flow with bounded polling that repeatedly checks `odf-operator` package
availability. Proceed as soon as the package appears; only after the polling
limit is reached should the script create the ODF 4.23 fallback resources.
|
[REHEARSALNOTIFIER]
A total of 154 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: |
|
/pj-rehearse pull-ci-openshift-cluster-api-provider-kubevirt-release-4.19-e2e-hypershift-kubevirt |
|
@orenc1: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@orenc1: The following test failed, say
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. |
Summary by CodeRabbit
odf-operatorpackage is unavailable. This allows debugging before the flow creates the ODF 4.23 image mirror policy and catalog source.