HYPERFLEET-1058 - feat: Update e2e repo and remove dead code#122
HYPERFLEET-1058 - feat: Update e2e repo and remove dead code#122ma-hill wants to merge 1 commit into
Conversation
|
Skipping CI for Draft Pull Request. |
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR updates E2E setup guidance, adds Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes 🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
/test periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier1-nightly |
|
@ma-hill: The specified target(s) for Use 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 kubernetes-sigs/prow repository. |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 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 `@docs/runbook.md`:
- Around line 9-13: The Table of Contents entry for the CI section is pointing
to the wrong anchor, so update the item referenced by the runbook TOC to match
the actual section title. Adjust the existing “Test Coverage in CI” link in the
markdown list to target the anchor generated from the “CI Jobs” heading, and
verify any duplicated TOC entry in the same file uses the same corrected anchor
so navigation works consistently.
- Line 233: The markdown in the runbook has an unbalanced bold marker at the
line referencing pkg/labels/labels.go, which breaks formatting. Update the
affected sentence so the emphasis markers are properly balanced or remove the
stray leading markers, and verify the surrounding markdown renders correctly in
docs/runbook.md.
In `@perf/parse-report.sh`:
- Around line 15-17: The CLI filename handling in parse-report.sh is vulnerable
because paths starting with a dash can be treated as flags by downstream
commands. Update the argument handling around the input selection and every
file-consuming command that uses INPUT or REPORT_FILE (including the grep and
tee usage in the affected blocks) to pass filenames after a -- delimiter so they
are always parsed as operands, not options.
In `@perf/run-in-cluster.sh`:
- Around line 13-17: The QUAY_USER check in run-in-cluster.sh is expanding an
unset variable directly while nounset is enabled, so the script can fail before
reaching the explicit error path. Update the QUAY_USER guard to use a
nounset-safe existence check in the same conditional block, preserving the
current error messages and exit behavior in the script’s main setup flow.
In `@perf/seed-clusters.sh`:
- Around line 87-98: The cleanup loop in `perf/seed-clusters.sh` is marking
cluster IDs in `seen` before the DELETE succeeds, which prevents failed
deletions from being retried. Update the logic in the `while IFS= read -r id`
block so an ID is only recorded as seen after a successful `curl` DELETE (HTTP
2xx), or otherwise allow failed IDs to be retried on later passes. Keep the
deduplication behavior intact, but make sure `cleanup`/`reset` can attempt
deletion again when `http_code` is not 2xx.
🪄 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: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: c9eb58ad-b16b-4597-9d84-8ba01265462b
📒 Files selected for processing (45)
CONTRIBUTING.mdDockerfileMakefileREADME.mddeploy-scripts/.env.exampledeploy-scripts/README.mddeploy-scripts/deploy-clm.shdeploy-scripts/kind-build-images.shdeploy-scripts/kind-local.shdeploy-scripts/lib/adapter.shdeploy-scripts/lib/api.shdeploy-scripts/lib/common.shdeploy-scripts/lib/gcp.shdeploy-scripts/lib/helm.shdeploy-scripts/lib/sentinel.shdocs/development.mddocs/getting-started.mddocs/local-kind-setup.mddocs/runbook.mddocs/setup.mdenv/env.cienv/env.localperf/README.mdperf/parse-report.shperf/run-in-cluster.shperf/seed-clusters.shtestdata/adapter-configs/cl-deployment/adapter-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yamltestdata/adapter-configs/cl-deployment/values.yamltestdata/adapter-configs/cl-job/adapter-config.yamltestdata/adapter-configs/cl-job/adapter-task-config.yamltestdata/adapter-configs/cl-job/adapter-task-resource-job.yamltestdata/adapter-configs/cl-job/values.yamltestdata/adapter-configs/cl-maestro/adapter-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yamltestdata/adapter-configs/cl-maestro/values.yamltestdata/adapter-configs/cl-namespace/adapter-config.yamltestdata/adapter-configs/cl-namespace/adapter-task-config.yamltestdata/adapter-configs/cl-namespace/values.yamltestdata/adapter-configs/np-configmap/adapter-config.yamltestdata/adapter-configs/np-configmap/adapter-task-config.yamltestdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yamltestdata/adapter-configs/np-configmap/values.yaml
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual)openshift-hyperfleet/hyperfleet-broker(manual)
💤 Files with no reviewable changes (33)
- deploy-scripts/kind-build-images.sh
- testdata/adapter-configs/cl-maestro/adapter-task-config.yaml
- testdata/adapter-configs/np-configmap/adapter-task-config.yaml
- testdata/adapter-configs/cl-job/adapter-task-resource-job.yaml
- testdata/adapter-configs/cl-deployment/adapter-config.yaml
- deploy-scripts/lib/api.sh
- testdata/adapter-configs/cl-maestro/adapter-config.yaml
- testdata/adapter-configs/cl-namespace/values.yaml
- testdata/adapter-configs/cl-job/adapter-config.yaml
- testdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yaml
- testdata/adapter-configs/cl-deployment/values.yaml
- testdata/adapter-configs/cl-job/values.yaml
- testdata/adapter-configs/cl-maestro/values.yaml
- deploy-scripts/README.md
- testdata/adapter-configs/cl-namespace/adapter-task-config.yaml
- deploy-scripts/lib/common.sh
- testdata/adapter-configs/cl-job/adapter-task-config.yaml
- deploy-scripts/deploy-clm.sh
- testdata/adapter-configs/cl-deployment/adapter-task-config.yaml
- deploy-scripts/.env.example
- deploy-scripts/lib/gcp.sh
- testdata/adapter-configs/cl-namespace/adapter-config.yaml
- deploy-scripts/lib/helm.sh
- docs/local-kind-setup.md
- deploy-scripts/kind-local.sh
- deploy-scripts/lib/adapter.sh
- testdata/adapter-configs/np-configmap/values.yaml
- testdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yaml
- deploy-scripts/lib/sentinel.sh
- testdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yaml
- testdata/adapter-configs/np-configmap/adapter-config.yaml
- env/env.ci
- Makefile
✅ Files skipped from review due to trivial changes (2)
- docs/development.md
- README.md
🚧 Files skipped from review as they are similar to previous changes (3)
- env/env.local
- CONTRIBUTING.md
- Dockerfile
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 5
🤖 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 `@docs/runbook.md`:
- Around line 9-13: The Table of Contents entry for the CI section is pointing
to the wrong anchor, so update the item referenced by the runbook TOC to match
the actual section title. Adjust the existing “Test Coverage in CI” link in the
markdown list to target the anchor generated from the “CI Jobs” heading, and
verify any duplicated TOC entry in the same file uses the same corrected anchor
so navigation works consistently.
- Line 233: The markdown in the runbook has an unbalanced bold marker at the
line referencing pkg/labels/labels.go, which breaks formatting. Update the
affected sentence so the emphasis markers are properly balanced or remove the
stray leading markers, and verify the surrounding markdown renders correctly in
docs/runbook.md.
In `@perf/parse-report.sh`:
- Around line 15-17: The CLI filename handling in parse-report.sh is vulnerable
because paths starting with a dash can be treated as flags by downstream
commands. Update the argument handling around the input selection and every
file-consuming command that uses INPUT or REPORT_FILE (including the grep and
tee usage in the affected blocks) to pass filenames after a -- delimiter so they
are always parsed as operands, not options.
In `@perf/run-in-cluster.sh`:
- Around line 13-17: The QUAY_USER check in run-in-cluster.sh is expanding an
unset variable directly while nounset is enabled, so the script can fail before
reaching the explicit error path. Update the QUAY_USER guard to use a
nounset-safe existence check in the same conditional block, preserving the
current error messages and exit behavior in the script’s main setup flow.
In `@perf/seed-clusters.sh`:
- Around line 87-98: The cleanup loop in `perf/seed-clusters.sh` is marking
cluster IDs in `seen` before the DELETE succeeds, which prevents failed
deletions from being retried. Update the logic in the `while IFS= read -r id`
block so an ID is only recorded as seen after a successful `curl` DELETE (HTTP
2xx), or otherwise allow failed IDs to be retried on later passes. Keep the
deduplication behavior intact, but make sure `cleanup`/`reset` can attempt
deletion again when `http_code` is not 2xx.
🪄 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: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: c9eb58ad-b16b-4597-9d84-8ba01265462b
📒 Files selected for processing (45)
CONTRIBUTING.mdDockerfileMakefileREADME.mddeploy-scripts/.env.exampledeploy-scripts/README.mddeploy-scripts/deploy-clm.shdeploy-scripts/kind-build-images.shdeploy-scripts/kind-local.shdeploy-scripts/lib/adapter.shdeploy-scripts/lib/api.shdeploy-scripts/lib/common.shdeploy-scripts/lib/gcp.shdeploy-scripts/lib/helm.shdeploy-scripts/lib/sentinel.shdocs/development.mddocs/getting-started.mddocs/local-kind-setup.mddocs/runbook.mddocs/setup.mdenv/env.cienv/env.localperf/README.mdperf/parse-report.shperf/run-in-cluster.shperf/seed-clusters.shtestdata/adapter-configs/cl-deployment/adapter-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yamltestdata/adapter-configs/cl-deployment/values.yamltestdata/adapter-configs/cl-job/adapter-config.yamltestdata/adapter-configs/cl-job/adapter-task-config.yamltestdata/adapter-configs/cl-job/adapter-task-resource-job.yamltestdata/adapter-configs/cl-job/values.yamltestdata/adapter-configs/cl-maestro/adapter-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yamltestdata/adapter-configs/cl-maestro/values.yamltestdata/adapter-configs/cl-namespace/adapter-config.yamltestdata/adapter-configs/cl-namespace/adapter-task-config.yamltestdata/adapter-configs/cl-namespace/values.yamltestdata/adapter-configs/np-configmap/adapter-config.yamltestdata/adapter-configs/np-configmap/adapter-task-config.yamltestdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yamltestdata/adapter-configs/np-configmap/values.yaml
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual)openshift-hyperfleet/hyperfleet-broker(manual)
💤 Files with no reviewable changes (33)
- deploy-scripts/kind-build-images.sh
- testdata/adapter-configs/cl-maestro/adapter-task-config.yaml
- testdata/adapter-configs/np-configmap/adapter-task-config.yaml
- testdata/adapter-configs/cl-job/adapter-task-resource-job.yaml
- testdata/adapter-configs/cl-deployment/adapter-config.yaml
- deploy-scripts/lib/api.sh
- testdata/adapter-configs/cl-maestro/adapter-config.yaml
- testdata/adapter-configs/cl-namespace/values.yaml
- testdata/adapter-configs/cl-job/adapter-config.yaml
- testdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yaml
- testdata/adapter-configs/cl-deployment/values.yaml
- testdata/adapter-configs/cl-job/values.yaml
- testdata/adapter-configs/cl-maestro/values.yaml
- deploy-scripts/README.md
- testdata/adapter-configs/cl-namespace/adapter-task-config.yaml
- deploy-scripts/lib/common.sh
- testdata/adapter-configs/cl-job/adapter-task-config.yaml
- deploy-scripts/deploy-clm.sh
- testdata/adapter-configs/cl-deployment/adapter-task-config.yaml
- deploy-scripts/.env.example
- deploy-scripts/lib/gcp.sh
- testdata/adapter-configs/cl-namespace/adapter-config.yaml
- deploy-scripts/lib/helm.sh
- docs/local-kind-setup.md
- deploy-scripts/kind-local.sh
- deploy-scripts/lib/adapter.sh
- testdata/adapter-configs/np-configmap/values.yaml
- testdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yaml
- deploy-scripts/lib/sentinel.sh
- testdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yaml
- testdata/adapter-configs/np-configmap/adapter-config.yaml
- env/env.ci
- Makefile
✅ Files skipped from review due to trivial changes (2)
- docs/development.md
- README.md
🚧 Files skipped from review as they are similar to previous changes (3)
- env/env.local
- CONTRIBUTING.md
- Dockerfile
🛑 Comments failed to post (5)
docs/runbook.md (2)
9-13: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix the broken Table-of-Contents anchor at Line 12.
[Test Coverage in CI](#test-coverage-in-ci)does not resolve because the section is## CI Jobs(anchor#ci-jobs).Patch
-- [Test Coverage in CI](`#test-coverage-in-ci`) +- [CI Jobs](`#ci-jobs`)Also applies to: 221-221
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 12-12: Link fragments should be valid
(MD051, link-fragments)
🤖 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 `@docs/runbook.md` around lines 9 - 13, The Table of Contents entry for the CI section is pointing to the wrong anchor, so update the item referenced by the runbook TOC to match the actual section title. Adjust the existing “Test Coverage in CI” link in the markdown list to target the anchor generated from the “CI Jobs” heading, and verify any duplicated TOC entry in the same file uses the same corrected anchor so navigation works consistently.Source: Linters/SAST tools
233-233: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Fix malformed markdown at Line 233.
The leading
**is unbalanced and breaks formatting.Patch
-** based on [`pkg/labels/labels.go`](../pkg/labels/labels.go) file tags +Based on tags defined in [`pkg/labels/labels.go`](../pkg/labels/labels.go).📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.Based on tags defined in [`pkg/labels/labels.go`](../pkg/labels/labels.go).🤖 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 `@docs/runbook.md` at line 233, The markdown in the runbook has an unbalanced bold marker at the line referencing pkg/labels/labels.go, which breaks formatting. Update the affected sentence so the emphasis markers are properly balanced or remove the stray leading markers, and verify the surrounding markdown renders correctly in docs/runbook.md.perf/parse-report.sh (1)
15-17: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Harden CLI filename handling against argument injection (CWE-88).
$1can be a valid file beginning with-; currentgrep ... "$INPUT"/tee "$REPORT_FILE"can parse it as flags. Use--delimiters on all filename arguments.Patch
-SUMMARY=$(grep -E "[0-9]+ Passed" "$INPUT" 2>/dev/null | tail -1 || true) +SUMMARY=$(grep -E "[0-9]+ Passed" -- "$INPUT" 2>/dev/null | tail -1 || true) @@ -DURATION=$(grep -E "^Ran [0-9]+" "$INPUT" 2>/dev/null | tail -1 || true) +DURATION=$(grep -E "^Ran [0-9]+" -- "$INPUT" 2>/dev/null | tail -1 || true) @@ -grep "\[PERF\]" "$INPUT" | sed 's/^[[:space:]]*/ /' || echo " No latency data found" +grep "\[PERF\]" -- "$INPUT" | sed 's/^[[:space:]]*/ /' || echo " No latency data found" @@ -FAILURES=$(grep -c "\[FAIL\]" "$INPUT" 2>/dev/null || true) +FAILURES=$(grep -c "\[FAIL\]" -- "$INPUT" 2>/dev/null || true) @@ - grep "\[FAIL\]" "$INPUT" | sed 's/^[[:space:]]*/ /' + grep "\[FAIL\]" -- "$INPUT" | sed 's/^[[:space:]]*/ /' @@ -} | tee "$REPORT_FILE" +} | tee -- "$REPORT_FILE"As per path instructions, “Validate input at system boundaries (HTTP handlers, CLI parsers, webhook receivers).”
Also applies to: 53-73, 78-78
🤖 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 `@perf/parse-report.sh` around lines 15 - 17, The CLI filename handling in parse-report.sh is vulnerable because paths starting with a dash can be treated as flags by downstream commands. Update the argument handling around the input selection and every file-consuming command that uses INPUT or REPORT_FILE (including the grep and tee usage in the affected blocks) to pass filenames after a -- delimiter so they are always parsed as operands, not options.Source: Path instructions
perf/run-in-cluster.sh (1)
13-17: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Guard
QUAY_USERundernounsetto avoid premature exit (CWE-703).Line 13 expands
QUAY_USERdirectly whileset -uis active, so the script can terminate with “unbound variable” before your explicit error message path runs.Proposed fix
-if [[ -z "${QUAY_USER}" ]]; then +if [[ -z "${QUAY_USER:-}" ]]; then echo "ERROR: QUAY_USER is not set" echo "Add QUAY_USER=myuser to env/env.local or export it" exit 1 fi📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.if [[ -z "${QUAY_USER:-}" ]]; then echo "ERROR: QUAY_USER is not set" echo "Add QUAY_USER=myuser to env/env.local or export it" exit 1 fi🤖 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 `@perf/run-in-cluster.sh` around lines 13 - 17, The QUAY_USER check in run-in-cluster.sh is expanding an unset variable directly while nounset is enabled, so the script can fail before reaching the explicit error path. Update the QUAY_USER guard to use a nounset-safe existence check in the same conditional block, preserving the current error messages and exit behavior in the script’s main setup flow.perf/seed-clusters.sh (1)
87-98: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Retry logic is broken by pre-marking
seenIDs (CWE-670).Line 91 marks IDs as processed before DELETE. When DELETE fails once, that ID is never retried, so
cleanup/resetcan leave clusters behind.Proposed fix
- [[ -n "${seen[$id]:-}" ]] && continue - seen[$id]=1 + [[ -n "${seen[$id]:-}" ]] && continue local http_code http_code=$(curl -s -o /dev/null -w '%{http_code}' $CURL_OPTS -X DELETE "$API_BASE/clusters/$id" --http1.1) if [[ "$http_code" =~ ^2 ]]; then + seen[$id]=1 deleted=$((deleted + 1)) else echo " WARN: DELETE $id returned HTTP $http_code" fi📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.while IFS= read -r id; do [[ -z "$id" ]] && continue [[ "$id" =~ ^[a-zA-Z0-9_-]+$ ]] || continue [[ -n "${seen[$id]:-}" ]] && continue local http_code http_code=$(curl -s -o /dev/null -w '%{http_code}' $CURL_OPTS -X DELETE "$API_BASE/clusters/$id" --http1.1) if [[ "$http_code" =~ ^2 ]]; then seen[$id]=1 deleted=$((deleted + 1)) else echo " WARN: DELETE $id returned HTTP $http_code" fi🧰 Tools
🪛 Shellcheck (0.11.0)
[info] 93-93: Double quote to prevent globbing and word splitting.
(SC2086)
🤖 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 `@perf/seed-clusters.sh` around lines 87 - 98, The cleanup loop in `perf/seed-clusters.sh` is marking cluster IDs in `seen` before the DELETE succeeds, which prevents failed deletions from being retried. Update the logic in the `while IFS= read -r id` block so an ID is only recorded as seen after a successful `curl` DELETE (HTTP 2xx), or otherwise allow failed IDs to be retried on later passes. Keep the deduplication behavior intact, but make sure `cleanup`/`reset` can attempt deletion again when `http_code` is not 2xx.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@docs/runbook.md`:
- Line 12: The table of contents entry for the Test Coverage section points to
the wrong fragment, so update the markdown link target in the runbook TOC to
match the actual section heading “CI Jobs” and apply the same fix to the other
duplicated TOC entries noted in the comment. Locate the broken anchors near the
“Test Coverage in CI” entries and ensure each link uses the fragment generated
from the real heading text so the jump works correctly.
In `@perf/run-in-cluster.sh`:
- Around line 13-16: The QUAY_USER check in run-in-cluster.sh is unsafe under
nounset mode because direct expansion of an unset variable aborts before the
error handling runs. Update the QUAY_USER validation in the script’s startup
guard to use a safe unset-aware test, then keep the existing error messaging and
exit path so the script reaches the intended failure branch when QUAY_USER is
missing.
🪄 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: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: d009a883-82a0-40ed-989d-3513b2c5379e
📒 Files selected for processing (46)
.env.exampleCONTRIBUTING.mdDockerfileMakefileREADME.mddeploy-scripts/.env.exampledeploy-scripts/README.mddeploy-scripts/deploy-clm.shdeploy-scripts/kind-build-images.shdeploy-scripts/kind-local.shdeploy-scripts/lib/adapter.shdeploy-scripts/lib/api.shdeploy-scripts/lib/common.shdeploy-scripts/lib/gcp.shdeploy-scripts/lib/helm.shdeploy-scripts/lib/sentinel.shdocs/development.mddocs/getting-started.mddocs/local-kind-setup.mddocs/runbook.mddocs/setup.mdenv/env.cienv/env.localperf/README.mdperf/parse-report.shperf/run-in-cluster.shperf/seed-clusters.shtestdata/adapter-configs/cl-deployment/adapter-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yamltestdata/adapter-configs/cl-deployment/values.yamltestdata/adapter-configs/cl-job/adapter-config.yamltestdata/adapter-configs/cl-job/adapter-task-config.yamltestdata/adapter-configs/cl-job/adapter-task-resource-job.yamltestdata/adapter-configs/cl-job/values.yamltestdata/adapter-configs/cl-maestro/adapter-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yamltestdata/adapter-configs/cl-maestro/values.yamltestdata/adapter-configs/cl-namespace/adapter-config.yamltestdata/adapter-configs/cl-namespace/adapter-task-config.yamltestdata/adapter-configs/cl-namespace/values.yamltestdata/adapter-configs/np-configmap/adapter-config.yamltestdata/adapter-configs/np-configmap/adapter-task-config.yamltestdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yamltestdata/adapter-configs/np-configmap/values.yaml
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual)openshift-hyperfleet/hyperfleet-broker(manual)
💤 Files with no reviewable changes (35)
- testdata/adapter-configs/cl-deployment/values.yaml
- testdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yaml
- testdata/adapter-configs/cl-maestro/adapter-task-config.yaml
- testdata/adapter-configs/np-configmap/values.yaml
- testdata/adapter-configs/cl-maestro/values.yaml
- docs/local-kind-setup.md
- testdata/adapter-configs/cl-deployment/adapter-task-config.yaml
- testdata/adapter-configs/cl-job/adapter-task-resource-job.yaml
- testdata/adapter-configs/cl-namespace/values.yaml
- deploy-scripts/kind-build-images.sh
- .env.example
- testdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yaml
- deploy-scripts/lib/gcp.sh
- deploy-scripts/lib/api.sh
- testdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yaml
- testdata/adapter-configs/cl-job/values.yaml
- deploy-scripts/kind-local.sh
- testdata/adapter-configs/cl-job/adapter-task-config.yaml
- testdata/adapter-configs/cl-namespace/adapter-config.yaml
- testdata/adapter-configs/np-configmap/adapter-task-config.yaml
- deploy-scripts/lib/common.sh
- testdata/adapter-configs/cl-namespace/adapter-task-config.yaml
- testdata/adapter-configs/cl-deployment/adapter-config.yaml
- testdata/adapter-configs/cl-job/adapter-config.yaml
- deploy-scripts/README.md
- deploy-scripts/lib/sentinel.sh
- testdata/adapter-configs/cl-maestro/adapter-config.yaml
- deploy-scripts/lib/helm.sh
- testdata/adapter-configs/np-configmap/adapter-config.yaml
- Dockerfile
- deploy-scripts/lib/adapter.sh
- deploy-scripts/.env.example
- env/env.ci
- deploy-scripts/deploy-clm.sh
- Makefile
✅ Files skipped from review due to trivial changes (6)
- docs/setup.md
- env/env.local
- README.md
- CONTRIBUTING.md
- docs/development.md
- perf/README.md
… test configs Removed obsolete local deployment infrastructure and test adapter configurations that are no longer needed for E2E testing workflow. - Removed deploy-scripts/ directory with local kind deployment automation (replaced by hyperfleet-infra terraform) - Removed testdata/adapter-configs/ test fixtures for individual adapters (cl-deployment, cl-job, cl-maestro, cl-namespace, np-configmap) - Removed docs/local-kind-setup.md (consolidated into docs/setup.md) - Added docs/setup.md with streamlined setup instructions for kind and GCP deployments - Added env/env.local template for local environment configuration - Updated perf/README.md to reference new setup guide and configuration verification steps - Updated docs/development.md and docs/getting-started.md to point to new setup guide - Cleaned up .env.example, Dockerfile, and Makefile to remove legacy references
There was a problem hiding this comment.
♻️ Duplicate comments (1)
perf/run-in-cluster.sh (1)
13-16: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winLine 13: nounset abort bypasses intended error path (CWE-703).
set -umakes${QUAY_USER}crash when unset, so the script exits before your custom error/help text runs.Patch
-if [[ -z "${QUAY_USER}" ]]; then +if [[ -z "${QUAY_USER:-}" ]]; then#!/bin/bash # Verify unsafe nounset expansion is still present set -euo pipefail rg -n 'set -euo pipefail|\$\{QUAY_USER\}|\$\{QUAY_USER:-\}' perf/run-in-cluster.shAs per path instructions, "Prioritize Critical and Major severity issues. Minimize Minor and Trivial findings."
🤖 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 `@perf/run-in-cluster.sh` around lines 13 - 16, The QUAY_USER check in run-in-cluster.sh is using an unguarded nounset expansion, so the script can abort before reaching the intended error/help branch. Update the QUAY_USER validation in the top-level shell logic to use a safe parameter check that works under set -u, and keep the existing error messages and exit path in place. Use the QUAY_USER test block as the fix point so the custom failure handling still runs when the variable is unset.
🤖 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.
Duplicate comments:
In `@perf/run-in-cluster.sh`:
- Around line 13-16: The QUAY_USER check in run-in-cluster.sh is using an
unguarded nounset expansion, so the script can abort before reaching the
intended error/help branch. Update the QUAY_USER validation in the top-level
shell logic to use a safe parameter check that works under set -u, and keep the
existing error messages and exit path in place. Use the QUAY_USER test block as
the fix point so the custom failure handling still runs when the variable is
unset.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: de1db2b1-5d7a-4530-8e05-4e034443b2fb
📒 Files selected for processing (46)
.env.exampleCONTRIBUTING.mdDockerfileMakefileREADME.mddeploy-scripts/.env.exampledeploy-scripts/README.mddeploy-scripts/deploy-clm.shdeploy-scripts/kind-build-images.shdeploy-scripts/kind-local.shdeploy-scripts/lib/adapter.shdeploy-scripts/lib/api.shdeploy-scripts/lib/common.shdeploy-scripts/lib/gcp.shdeploy-scripts/lib/helm.shdeploy-scripts/lib/sentinel.shdocs/development.mddocs/getting-started.mddocs/local-kind-setup.mddocs/runbook.mddocs/setup.mdenv/env.cienv/env.localperf/README.mdperf/parse-report.shperf/run-in-cluster.shperf/seed-clusters.shtestdata/adapter-configs/cl-deployment/adapter-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-config.yamltestdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yamltestdata/adapter-configs/cl-deployment/values.yamltestdata/adapter-configs/cl-job/adapter-config.yamltestdata/adapter-configs/cl-job/adapter-task-config.yamltestdata/adapter-configs/cl-job/adapter-task-resource-job.yamltestdata/adapter-configs/cl-job/values.yamltestdata/adapter-configs/cl-maestro/adapter-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-config.yamltestdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yamltestdata/adapter-configs/cl-maestro/values.yamltestdata/adapter-configs/cl-namespace/adapter-config.yamltestdata/adapter-configs/cl-namespace/adapter-task-config.yamltestdata/adapter-configs/cl-namespace/values.yamltestdata/adapter-configs/np-configmap/adapter-config.yamltestdata/adapter-configs/np-configmap/adapter-task-config.yamltestdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yamltestdata/adapter-configs/np-configmap/values.yaml
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual)openshift-hyperfleet/hyperfleet-broker(manual)
💤 Files with no reviewable changes (35)
- testdata/adapter-configs/np-configmap/adapter-config.yaml
- testdata/adapter-configs/cl-job/values.yaml
- testdata/adapter-configs/cl-deployment/values.yaml
- testdata/adapter-configs/np-configmap/values.yaml
- testdata/adapter-configs/np-configmap/adapter-task-config.yaml
- testdata/adapter-configs/cl-maestro/adapter-config.yaml
- testdata/adapter-configs/cl-job/adapter-config.yaml
- deploy-scripts/lib/helm.sh
- docs/local-kind-setup.md
- testdata/adapter-configs/cl-deployment/adapter-config.yaml
- Dockerfile
- testdata/adapter-configs/cl-namespace/adapter-config.yaml
- testdata/adapter-configs/cl-namespace/values.yaml
- testdata/adapter-configs/cl-job/adapter-task-resource-job.yaml
- deploy-scripts/.env.example
- testdata/adapter-configs/cl-maestro/adapter-task-resource-manifestwork.yaml
- testdata/adapter-configs/cl-maestro/values.yaml
- deploy-scripts/lib/api.sh
- testdata/adapter-configs/cl-namespace/adapter-task-config.yaml
- deploy-scripts/README.md
- deploy-scripts/lib/adapter.sh
- testdata/adapter-configs/cl-maestro/adapter-task-config.yaml
- deploy-scripts/kind-local.sh
- deploy-scripts/lib/gcp.sh
- .env.example
- testdata/adapter-configs/cl-deployment/adapter-task-resource-deployment.yaml
- env/env.ci
- deploy-scripts/lib/common.sh
- deploy-scripts/lib/sentinel.sh
- testdata/adapter-configs/np-configmap/adapter-task-resource-configmap.yaml
- deploy-scripts/deploy-clm.sh
- deploy-scripts/kind-build-images.sh
- Makefile
- testdata/adapter-configs/cl-job/adapter-task-config.yaml
- testdata/adapter-configs/cl-deployment/adapter-task-config.yaml
✅ Files skipped from review due to trivial changes (6)
- CONTRIBUTING.md
- docs/development.md
- README.md
- perf/README.md
- docs/setup.md
- docs/runbook.md
🚧 Files skipped from review as they are similar to previous changes (1)
- env/env.local
|
Important Impact warning — file outside this PR File: This PR renamed the heading
Both should be updated to |
Summary
Removes obsolete local deployment infrastructure and consolidates setup documentation into a single streamlined guide. The legacy
deploy-scripts/directory contained shell scripts for local kind deployments that are now replaced by the centralizedhyperfleet-infraTerraform/Helmfile workflow. This cleanup removes unmaintained code and reduces confusion by providing one clear path for developers to set up their E2E testing environment.HYPERFLEET-1058
Changes
Removed Legacy Deployment Infrastructure
deploy-scripts/directory (602-line deployment script + library modules for adapter/API/GCP/Helm/Sentinel management)testdata/adapter-configs/test fixtures for individual adapters (cl-deployment, cl-job, cl-maestro, cl-namespace, np-configmap)docs/local-kind-setup.md(106 lines, superseded by new setup guide)Added Consolidated Documentation
docs/setup.mdwith streamlined setup instructions for both kind and GCP deploymentshyperfleet-infra/terraformas the source of truth for environment setupenv/env.localtemplate with annotated environment variables for local development (image registry, API/Sentinel/Adapter configuration, broker settings)Updated Cross-References
docs/development.mdto reference new setup guide and remove outdated RabbitMQ/custom image deployment instructionsdocs/getting-started.mdto point to new setup guideperf/README.mdto reference setup guide for prerequisites instead of inline infra setup instructionsREADME.mdto remove inline quick start (now points to setup guide) and expand project structure overviewCONTRIBUTING.mdto reference new setup pathCleaned Up Build Configuration
.env.example(replaced byenv/env.local)env/env.cito remove unused variablesNotes
The
hyperfleet-infrarepository is now the single source of truth for deploying HyperFleet environments (both kind and GCP). Developers should use that repository's Terraform/Helmfile targets (make local-up-kind,make local-up-gcp) instead of the removeddeploy-scripts/.The adapter config test fixtures in
testdata/adapter-configs/were not used by any active tests and represented outdated adapter configurations.Test Plan
make test-allpassesmake lintpasses