CM-716: Add baremetal e2e CI job for cert-manager-operator#81902
CM-716: Add baremetal e2e CI job for cert-manager-operator#81902sebrandon1 wants to merge 1 commit into
Conversation
WalkthroughAdds an optional OpenShift bare-metal IPI end-to-end job for cert-manager-operator, configuring the cluster profile and network, installing the operator bundle, waiting for deployment availability, setting CPU requests, and running filtered Ginkgo tests. ChangesMetal IPI end-to-end testing
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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/cert-manager-operator/openshift-cert-manager-operator-master.yaml`:
- Around line 326-327: Add an explicit 10-minute timeout to the oc wait
invocation for deployment cert-manager-operator-controller-manager, preserving
its existing Available condition and namespace arguments.
🪄 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: 935b2875-6109-4ceb-a71d-b76de8fa422a
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/cert-manager-operator/openshift-cert-manager-operator-master-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (1)
ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml
| operator-sdk run bundle --timeout=10m --security-context-config=restricted --install-mode=AllNamespaces -n cert-manager-operator "$OO_BUNDLE" --verbose | ||
| oc wait --for condition=Available -n cert-manager-operator deployment cert-manager-operator-controller-manager |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the changed region and nearby CI job context
FILE='ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml'
wc -l "$FILE"
sed -n '280,360p' "$FILE"
# See whether this is a generated CI config with related metadata
rg -n "zz_generated_metadata|optional: true|skip_if_only_changed|operator-sdk run bundle|oc wait" ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yamlRepository: openshift/release
Length of output: 3529
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Check whether the repository has documented the default timeout for oc wait, and whether
# the job already sets a timeout elsewhere in the same step.
FILE='ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml'
python3 - <<'PY'
from pathlib import Path
import re
text = Path('ci-operator/config/openshift/cert-manager-operator/openshift-cert-manager-operator-master.yaml').read_text()
# Print the exact command lines around oc wait/operator-sdk in the job for context.
for i, line in enumerate(text.splitlines(), 1):
if 'operator-sdk run bundle' in line or 'oc wait' in line or '--timeout' in line:
start = max(1, i-3)
end = min(len(text.splitlines()), i+3)
print(f"\n--- lines {start}-{end} around line {i} ---")
for j in range(start, end+1):
print(f"{j}: {text.splitlines()[j-1]}")
PYRepository: openshift/release
Length of output: 2133
🌐 Web query:
kubectl wait default timeout 30s documentation oc wait
💡 Result:
The default timeout for both the kubectl wait and oc wait commands is 30 seconds [1][2][3]. This timeout value determines how long the command will wait for the specified condition to be met before giving up [1][4]. You can override this default using the --timeout flag [1][3]. Additional details regarding the timeout behavior: - A value of 0 means the command will check the condition once and exit immediately without waiting [1][4][3]. - A negative value is interpreted as waiting for one week [2][4][3]. - This timeout is distinct from the --request-timeout flag, which defines the time to wait for a single server request to complete (and which defaults to 0, or no timeout) [4][3]. When using kubectl wait or oc wait, the syntax for specifying the timeout is --timeout=<duration> (e.g., --timeout=60s) [4][5][3].
Citations:
- 1: https://kubernetes.io/docs/reference/kubectl/generated/kubectl_wait/
- 2: https://man.archlinux.org/man/kubectl-wait.1.en
- 3: https://manpages.opensuse.org/Tumbleweed/oc/oc-wait.1.en.html
- 4: https://manpages.debian.org/testing/kubernetes-client/kubectl-wait.1.en.html
- 5: https://man.archlinux.org/man/extra/kubectl/kubectl-wait.1.en
Give oc wait an explicit timeout. operator-sdk run bundle already allows 10m, but this wait still uses the default 30s. Add --timeout=10m so slower cluster startup doesn’t fail the job early.
🤖 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/cert-manager-operator/openshift-cert-manager-operator-master.yaml`
around lines 326 - 327, Add an explicit 10-minute timeout to the oc wait
invocation for deployment cert-manager-operator-controller-manager, preserving
its existing Available condition and namespace arguments.
c06cce0 to
ec01eea
Compare
|
@sebrandon1: This pull request references CM-716 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
|
@sebrandon1, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sebrandon1 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 |
ec01eea to
4a38041
Compare
|
@sebrandon1: 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
e2e-operator-metal-ipipre-submit job foropenshift/cert-manager-operatorbaremetalds-e2eworkflow,equinix-ocp-metalprofile)operator-sdk run bundleand runsPlatform:Generice2e testsalways_run: false+optional: true— triggered on-demand via/test e2e-operator-metal-ipiTest plan
e2e-operator-metal-ipirehearsal to validate baremetal provisioning and operator installSummary by CodeRabbit