Skip to content

MGMT-24219: replace 32 vmaas presubmits with 4 cluster-tool-based jobs - #79068

Closed
omer-vishlitzky wants to merge 14 commits into
openshift:mainfrom
omer-vishlitzky:osac-cluster-tool-vmaas
Closed

omer-vishlitzky wants to merge 14 commits into
openshift:mainfrom
omer-vishlitzky:osac-cluster-tool-vmaas

Conversation

@omer-vishlitzky

@omer-vishlitzky omer-vishlitzky commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Replaces 32 vmaas presubmit jobs (8 per repo × 4 repos) and 8 periodic jobs with 4 presubmit jobs (1 per repo) + 1 periodic.

Each new job boots a pre-built OSAC cluster from a Quay snapshot via cluster-tool (~15min), runs a refresh script to fix domain-sensitive resources (~4min), then executes all 8 vmaas tests sequentially on the single cluster.

Before: 8 jobs per PR, each provisioning a full OCP cluster + OSAC install (~2.5h each)
After: 1 job per PR, booting from snapshot (~30min total)

What changed

  • New workflow osac-project-cluster-tool-vmaas: ofcir-acquire → cluster-tool boot+refresh → all 8 vmaas tests → gather+destroy+release
  • New steps: cluster-tool-boot (setup machine, pull flavor, boot, refresh), cluster-tool-test (pytest with JUnit XML), cluster-tool-destroy (best-effort cleanup)
  • Removed: old osac-project-ofcir-baremetal and osac-project-ofcir-baremetal-component workflows, old installer/test steps
  • Per-test reporting: pytest generates JUnit XML so Prow shows individual test pass/fail

Repos affected

Repo Before After Component override
osac-test-infra 8 presubmits + 8 periodics 1 + 1 No
osac-installer 8 presubmits (run_if_changed) 1 (run_if_changed) No
fulfillment-service 8 presubmits 1 Yes (kustomize image patch)
osac-operator 8 presubmits 1 Yes (kustomize image patch)

Dependencies

  • Snapshot image: quay.io/rh-ee-ovishlit/cluster-flavors:osac-vmaas
  • Refresh script and patched prepare-fulfillment-service.sh are embedded (from osac-installer PR #95, not yet merged). Once merged, the embedded copies can be removed.

Jira: https://issues.redhat.com/browse/MGMT-24219

Summary

This PR consolidates OSAC vmaas CI across four repositories (osac-test-infra, osac-installer, fulfillment-service, osac-operator). It replaces the previous per-scenario OFCIR/baremetal provisioning + test jobs with a single cluster-tool based workflow that boots a pre-built cluster snapshot, refreshes domain-sensitive resources, runs all vmaas scenarios sequentially on that cluster, gathers artifacts, destroys the clone, and releases OFCIR resources.

Practical impact

  • Job surface: reduces 32 presubmit jobs (8 per repo × 4 repos) and 8 periodic jobs to 4 presubmits (one per repo) plus 1 periodic (in osac-test-infra).
  • Runtime: eliminates repeated full provision+install per scenario. Previously ~2.5 h per scenario job; new flow boots a snapshot (~15 min) + refresh (~4 min) and runs all 8 vmaas tests sequentially — ~30 min total per PR expected.
  • Reporting: per-scenario test visibility retained because tests run under pytest that emits JUnit XML so Prow shows individual test pass/fail results.
  • Workflow: new unified workflow osac-project-cluster-tool-vmaas (pre: ofcir-acquire → boot+refresh → test → post: gather + destroy + ofcir-release). New step names: cluster-tool-boot, cluster-tool-test, cluster-tool-destroy.

New CI artifacts added

  • Step-registry entries and scripts:
    • osac-project-cluster-tool-boot (+ commands script): boots cluster-tool clone from quay snapshot, copies pull-secret/AAP license, runs an embedded refresh script to fix domain-sensitive resources, optionally patches a component image for PR testing.
    • osac-project-cluster-tool-test (+ commands script): SSHs to CI machine, runs pytest tests/vmaas/ inside a container, writes junit_vmaas.xml and collects artifacts back for Prow.
    • osac-project-cluster-tool-destroy (+ commands script): best-effort cluster-tool cleanup (post-step).
    • osac-project-cluster-tool-vmaas workflow YAML: wires pre/test/post ordering and documents snapshot+refresh approach and expected behavior.
  • CI job updates in the four repos to reference the new workflow and pass needed image dependencies (COMPONENT_IMAGE, OSAC_INSTALLER_IMAGE, OSAC_TEST_IMAGE) and env variables for component-image overrides where required.

Removed/changed pieces

  • Removed the older ofcir/baremetal workflows, related step scripts (installer/component baremetal commands), and their ref blocks and some OWNERS entries.
  • CI job definitions for the four repos no longer declare the previous per-scenario e2e-metal-vmaas-* jobs; replaced with e2e-metal-vmaas-all (and a single periodic e2e-metal-vmaas-all-periodic in osac-test-infra).
  • base_images entries for multiple assisted-* images were removed from affected repo configs (no longer built per-test because clusters boot from a snapshot).
  • Some step-ref metadata updated to point to the new cluster-tool step files.

Repo-specific outcomes

  • osac-test-infra: consolidated 8 presubmits + 8 periodics into 1 presubmit + 1 periodic (cron: weekly); adds dev-scripts image and excludes component-image from promotion.
  • osac-installer: replaced 8 run_if_changed presubmits with 1 run_if_changed presubmit; promotion updated to exclude component-image.
  • fulfillment-service & osac-operator: each replaced 8 presubmits with a single presubmit; jobs accept a COMPONENT_IMAGE dependency so the cluster-tool boot flow can patch / override component images via kustomize for PR testing.

Dependencies and notes

  • Snapshot image used: quay.io/rh-ee-ovishlit/cluster-flavors:osac-vmaas.
  • The PR embeds a refresh script and a patched prepare-fulfillment-service.sh; those changes rely on an osac-installer PR (referenced) that is not yet merged.
  • Workflow is designed to be best-effort for cleanup (post destroy step allowed to fail without blocking) and to shorten CI wall-time and resource usage by centralizing provisioning overhead.

This change centralizes and simplifies OSAC vmaas CI maintenance while preserving per-scenario test diagnostics in Prow.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 9, 2026
@openshift-ci-robot

openshift-ci-robot commented May 9, 2026

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-24219 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 epic to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

Replaces 32 vmaas presubmit jobs (8 per repo × 4 repos) and 8 periodic jobs with 4 presubmit jobs (1 per repo) + 1 periodic.

Each new job boots a pre-built OSAC cluster from a Quay snapshot via cluster-tool (~15min), runs a refresh script to fix domain-sensitive resources (~4min), then executes all 8 vmaas tests sequentially on the single cluster.

Before: 8 jobs per PR, each provisioning a full OCP cluster + OSAC install (~2.5h each)
After: 1 job per PR, booting from snapshot (~30min total)

What changed

  • New workflow osac-project-cluster-tool-vmaas: ofcir-acquire → cluster-tool boot+refresh → all 8 vmaas tests → gather+destroy+release
  • New steps: cluster-tool-boot (setup machine, pull flavor, boot, refresh), cluster-tool-test (pytest with JUnit XML), cluster-tool-destroy (best-effort cleanup)
  • Removed: old osac-project-ofcir-baremetal and osac-project-ofcir-baremetal-component workflows, old installer/test steps
  • Per-test reporting: pytest generates JUnit XML so Prow shows individual test pass/fail

Repos affected

Repo Before After Component override
osac-test-infra 8 presubmits + 8 periodics 1 + 1 No
osac-installer 8 presubmits (run_if_changed) 1 (run_if_changed) No
fulfillment-service 8 presubmits 1 Yes (kustomize image patch)
osac-operator 8 presubmits 1 Yes (kustomize image patch)

Dependencies

  • Snapshot image: quay.io/rh-ee-ovishlit/cluster-flavors:osac-vmaas
  • Refresh script and patched prepare-fulfillment-service.sh are embedded (from osac-installer PR #95, not yet merged). Once merged, the embedded copies can be removed.

Jira: https://issues.redhat.com/browse/MGMT-24219

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.

@coderabbitai

coderabbitai Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Consolidates vMAAS E2E CI onto a new cluster-tool workflow: removes assisted-installer-based base_images and installer step refs/scripts, adds cluster-tool boot/test/destroy step refs and workflow, replaces many per-scenario e2e jobs with consolidated e2e-metal-vmaas-all (and a periodic variant), and updates metadata/OWNERS accordingly.

Changes

Cluster-Tool Migration

Layer / File(s) Summary
Data Shape / Images & Promotion
ci-operator/config/osac-project/*/osac-project-*-main.yaml, ci-operator/config/osac-project/osac-test-infra/...
Removed assisted-* entries from base_images; added/kept dev-scripts; added component-image built from FROM scratch and excluded it from promotion.
Test Job Consolidation / Wiring
ci-operator/config/osac-project/fulfillment-service/..., ci-operator/config/osac-project/osac-installer/..., ci-operator/config/osac-project/osac-operator/..., ci-operator/config/osac-project/osac-test-infra/...
Replaced many e2e-metal-vmaas-* per-scenario jobs with e2e-metal-vmaas-all (and -periodic in test-infra) that run osac-project-cluster-tool-vmaas, declare intranet capability, pass COMPONENT_IMAGE, OSAC_INSTALLER_IMAGE, OSAC_TEST_IMAGE as dependencies, and set COMPONENT_IMAGE_NAME in env; removed per-test envs/cluster_profile/ASSISTED_CONFIG/TEST and old workflow refs.
Workflow / Orchestration
ci-operator/step-registry/osac-project/cluster-tool/vmaas/osac-project-cluster-tool-vmaas-workflow.yaml, ...metadata.json
Added osac-project-cluster-tool-vmaas workflow sequencing acquire → boot → test → gather → destroy → release; updated metadata paths.
Boot Step Implementation
ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh, ...-boot-ref.yaml, ...-boot-ref.metadata.json
New boot command script to copy secrets/license, run snapshot boot via cluster-tool, refresh domain-sensitive resources, prepare fulfillment and optional component-image override; added step-ref with credentials mount, env vars, resources; metadata updated.
Test Step Implementation
ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-commands.sh, ...-test-ref.yaml, ...-test-ref.metadata.json
New test runner that SSHes to ci_machine, runs vmaas pytest in a podman container using OSAC_TEST_IMAGE, writes JUnit XML and collects artifacts; step-ref renamed from baremetal-test, timeout reduced, env/docs adjusted; metadata updated.
Destroy Step Implementation
ci-operator/step-registry/osac-project/cluster-tool/destroy/osac-project-cluster-tool-destroy-commands.sh, ...-destroy-ref.yaml, ...-destroy-ref.metadata.json
Added best-effort destroy script that SSHes and runs cluster-tool destroy if present; step-ref added with grace/timeout and resource requests; metadata updated.
Removal of Installer-based Steps & Scripts
ci-operator/step-registry/osac-project/installer/*, ci-operator/step-registry/osac-project/installer/component/*
Removed installer orchestration scripts and their ref definitions (installer and installer-component) that handled OpenShift/NAD setup, license handling, and component-image override flows.
Legacy Workflow & OWNERS Cleanup
ci-operator/step-registry/osac-project/ofcir/baremetal/*
Removed the osac-project-ofcir-baremetal workflow and component workflow content; removed osac-cicd entries from affected OWNERS files.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~28 minutes

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Topology-Aware Scheduling Compatibility ❓ Inconclusive No result was produced after verification. Marking as INCONCLUSIVE. Re-run the check or adjust instructions to produce a final result.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: consolidating 32 vmaas presubmit jobs into 4 cluster-tool-based jobs, which is the primary objective of this PR.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed Check not applicable. PR modifies only CI/CD configuration, no Ginkgo tests present. Tests use pytest with JUnit XML. Test job names are static and deterministic.
Test Structure And Quality ✅ Passed This PR contains no Ginkgo (Go-based) test code. Changes are limited to YAML CI configuration, bash scripts, and metadata files. The check is not applicable.
Microshift Test Compatibility ✅ Passed Not applicable. This check flags new Ginkgo e2e tests. This PR only modifies CI/CD config and Bash scripts to orchestrate pytest tests differently. No new Ginkgo tests are introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo tests added. PR modifies only CI infrastructure in openshift/release. Tests being consolidated are pytest-based Python tests in separate osac-project repos.
Ote Binary Stdout Contract ✅ Passed Not applicable. PR contains only CI/CD configuration (YAML), shell scripts, and metadata files—no Go test code or binaries subject to the OTE Binary Stdout Contract check.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests. Changes are CI orchestration/configuration only. Pytest tests are in external OSAC_TEST_IMAGE container, not in Ginkgo format in this repository.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci

openshift-ci Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: omer-vishlitzky
Once this PR has been reviewed and has the lgtm label, please assign trewest for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

19-20: 💤 Low value

Consider adding a brief comment for the scratch image purpose.

The FROM scratch placeholder image is a clever approach for repos that don't override a component, but it may confuse future maintainers. A brief inline comment would clarify the intent.

🤖 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/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 19 - 20, Add a brief inline comment explaining why the Dockerfile
uses the scratch placeholder so future maintainers understand its intent; update
the YAML entry containing "dockerfile_literal: FROM scratch" (associated with
"component-image") to include a short comment like "placeholder base image for
components that don't provide their own Dockerfile" immediately adjacent to or
above that key.
ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-ref.yaml (1)

36-37: 💤 Low value

Consider moving snapshot image to a team-owned registry namespace.

The default CLUSTER_TOOL_FLAVOR_IMAGE points to a personal namespace (rh-ee-ovishlit). For long-term maintainability, consider migrating this to a team-owned namespace (e.g., osac-project) to avoid bus-factor concerns and ensure the image remains accessible if the personal account changes.

🤖 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/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-ref.yaml`
around lines 36 - 37, The default value for CLUSTER_TOOL_FLAVOR_IMAGE currently
uses a personal quay namespace
("quay.io/rh-ee-ovishlit/cluster-flavors:osac-vmaas"); change the default to a
team-owned namespace (for example
"quay.io/osac-project/cluster-flavors:osac-vmaas") and update any related docs
or comments/configs that reference CLUSTER_TOOL_FLAVOR_IMAGE to point to the new
repository so the image is maintained under a team account and avoids bus-factor
risk.
ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh (1)

26-30: 💤 Low value

Consider using mktemp for temporary file handling.

Using a fixed path /tmp/license.zip could conflict with concurrent executions. While unlikely in this CI context (single job per machine), using mktemp would be more robust.

Suggested improvement
-base64 -d /var/run/osac-installer-aap/license > /tmp/license.zip
+LICENSE_TMP=$(mktemp --suffix=.zip)
+base64 -d /var/run/osac-installer-aap/license > "${LICENSE_TMP}"
 timeout -s 9 2m scp -F "${SHARED_DIR}/ssh_config" \
-    /tmp/license.zip \
+    "${LICENSE_TMP}" \
     ci_machine:/tmp/license.zip
🤖 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/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh`
around lines 26 - 30, Replace the fixed /tmp/license.zip temporary file with a
safe mktemp-managed file: create a local temp file (e.g., via mktemp), write the
decoded license into that temp file instead of /tmp/license.zip, use that temp
file as the source in the scp command (the remote target can remain
/tmp/license.zip), and ensure the temp file is removed after use (add a trap or
explicit rm in the same script block). Update the commands around base64 -d
(reading /var/run/osac-installer-aap/license), timeout ... scp (which references
"${SHARED_DIR}/ssh_config"), and add cleanup to avoid leaving temp files behind.
🤖 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/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh`:
- Around line 230-235: The kustomize image override string built in
COMPONENT_OVERRIDE_CMD uses unquoted expansions of COMPONENT_IMAGE_NAME and
COMPONENT_IMAGE which can allow shell metacharacters to be interpreted when that
string is later executed; update the assignment of COMPONENT_OVERRIDE_CMD so the
image name and tag are shell-quoted (e.g. wrap ${COMPONENT_IMAGE_NAME} and
${COMPONENT_IMAGE} in double quotes inside the command string) to ensure safe
expansion before running the command via bash -c.

In
`@ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-commands.sh`:
- Around line 18-24: The collect_artifacts function currently silences all scp
errors so missing junit_vmaas.xml can pass unnoticed; remove the stderr
suppression and silent-true fallback on the scp command, capture its exit
status, and if the copy fails or the target file ${ARTIFACT_DIR}/junit_vmaas.xml
does not exist, print a clear error to stderr and exit non‑zero (so the pipeline
fails). Specifically modify the scp in collect_artifacts (the scp -F
"${SHARED_DIR}/ssh_config" "ci_machine:${REMOTE_RESULTS_DIR}/junit_vmaas.xml"
"${ARTIFACT_DIR}/junit_vmaas.xml") to not redirect 2>/dev/null || true, then
check its exit code and/or test -f "${ARTIFACT_DIR}/junit_vmaas.xml" and call
echo >&2 "ERROR: failed to collect junit_vmaas.xml" and exit 1 when missing.

---

Nitpick comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 19-20: Add a brief inline comment explaining why the Dockerfile
uses the scratch placeholder so future maintainers understand its intent; update
the YAML entry containing "dockerfile_literal: FROM scratch" (associated with
"component-image") to include a short comment like "placeholder base image for
components that don't provide their own Dockerfile" immediately adjacent to or
above that key.

In
`@ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh`:
- Around line 26-30: Replace the fixed /tmp/license.zip temporary file with a
safe mktemp-managed file: create a local temp file (e.g., via mktemp), write the
decoded license into that temp file instead of /tmp/license.zip, use that temp
file as the source in the scp command (the remote target can remain
/tmp/license.zip), and ensure the temp file is removed after use (add a trap or
explicit rm in the same script block). Update the commands around base64 -d
(reading /var/run/osac-installer-aap/license), timeout ... scp (which references
"${SHARED_DIR}/ssh_config"), and add cleanup to avoid leaving temp files behind.

In
`@ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-ref.yaml`:
- Around line 36-37: The default value for CLUSTER_TOOL_FLAVOR_IMAGE currently
uses a personal quay namespace
("quay.io/rh-ee-ovishlit/cluster-flavors:osac-vmaas"); change the default to a
team-owned namespace (for example
"quay.io/osac-project/cluster-flavors:osac-vmaas") and update any related docs
or comments/configs that reference CLUSTER_TOOL_FLAVOR_IMAGE to point to the new
repository so the image is maintained under a team account and avoids bus-factor
risk.
🪄 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: 954c1f8f-6f67-4742-8e57-465c1071e5bd

📥 Commits

Reviewing files that changed from the base of the PR and between 251b235 and d6e212a.

⛔ Files ignored due to path filters (5)
  • ci-operator/jobs/osac-project/fulfillment-service/osac-project-fulfillment-service-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/osac-operator/osac-project-osac-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (30)
  • ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-operator/osac-project-osac-operator-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/cluster-tool/boot/OWNERS
  • ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh
  • ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-ref.metadata.json
  • ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-ref.yaml
  • ci-operator/step-registry/osac-project/cluster-tool/destroy/OWNERS
  • ci-operator/step-registry/osac-project/cluster-tool/destroy/osac-project-cluster-tool-destroy-commands.sh
  • ci-operator/step-registry/osac-project/cluster-tool/destroy/osac-project-cluster-tool-destroy-ref.metadata.json
  • ci-operator/step-registry/osac-project/cluster-tool/destroy/osac-project-cluster-tool-destroy-ref.yaml
  • ci-operator/step-registry/osac-project/cluster-tool/test/OWNERS
  • ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-commands.sh
  • ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-ref.metadata.json
  • ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-ref.yaml
  • ci-operator/step-registry/osac-project/cluster-tool/vmaas/OWNERS
  • ci-operator/step-registry/osac-project/cluster-tool/vmaas/osac-project-cluster-tool-vmaas-workflow.metadata.json
  • ci-operator/step-registry/osac-project/cluster-tool/vmaas/osac-project-cluster-tool-vmaas-workflow.yaml
  • ci-operator/step-registry/osac-project/installer/component/osac-project-installer-component-commands.sh
  • ci-operator/step-registry/osac-project/installer/component/osac-project-installer-component-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-commands.sh
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • ci-operator/step-registry/osac-project/ofcir/OWNERS
  • ci-operator/step-registry/osac-project/ofcir/baremetal/OWNERS
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/OWNERS
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/osac-project-ofcir-baremetal-component-workflow.metadata.json
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/osac-project-ofcir-baremetal-component-workflow.yaml
  • ci-operator/step-registry/osac-project/ofcir/baremetal/osac-project-ofcir-baremetal-workflow.yaml
💤 Files with no reviewable changes (11)
  • ci-operator/step-registry/osac-project/ofcir/OWNERS
  • ci-operator/step-registry/osac-project/ofcir/baremetal/OWNERS
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/osac-project-ofcir-baremetal-component-workflow.yaml
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/OWNERS
  • ci-operator/step-registry/osac-project/installer/component/osac-project-installer-component-commands.sh
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-commands.sh
  • ci-operator/step-registry/osac-project/ofcir/baremetal/osac-project-ofcir-baremetal-workflow.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • ci-operator/step-registry/osac-project/installer/component/osac-project-installer-component-ref.yaml
  • ci-operator/step-registry/osac-project/ofcir/baremetal/component/osac-project-ofcir-baremetal-component-workflow.metadata.json
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh

Comment on lines +230 to +235
# --- Phase 4: component override (conditional) ---
COMPONENT_OVERRIDE_CMD=""
if [[ -n "${COMPONENT_IMAGE}" ]] && [[ -n "${COMPONENT_IMAGE_NAME}" ]]; then
echo "=== Component override: ${COMPONENT_IMAGE_NAME} ==="
COMPONENT_OVERRIDE_CMD="cd /installer && kustomize edit set image ${COMPONENT_IMAGE_NAME}=${COMPONENT_IMAGE} && "
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that kustomize edit set image handles image names with special characters properly
# Check documentation for expected format
echo "Checking kustomize edit set image usage patterns in the codebase..."
rg -n "kustomize edit set image" --type sh -C2

Repository: openshift/release

Length of output: 911


🏁 Script executed:

# Look at the full script context to understand variable sourcing
cat -n ci-operator/step-registry/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh | head -250 | tail -100

Repository: openshift/release

Length of output: 4912


🌐 Web query:

kustomize edit set image syntax security special characters

💡 Result:

The syntax for kustomize edit set image is kustomize edit set image [<oldImageName>=][<newImageName>]:<newTag>[@<digest>] [1][2][3]. Multiple image arguments can be provided [3]. The command modifies the images field in kustomization.yaml in-place, adding or updating entries like: images: - name: busybox newName: alpine newTag: 3.6 [1]. For special characters: Image names with colons (e.g., localhost:5000/image) are supported via regexp parsing (fixed in early versions) [4]. Tags are validated to contain only alphanumeric, '.', '_', '-' characters; other characters like '+' cause "invalid format" errors [5]. Kustomize automatically quotes newTag values in YAML if needed (e.g., git hashes starting with numbers) to preserve them as strings [6]. Use single quotes around arguments with shell special characters (e.g., $, @, *) to prevent shell expansion: kustomize edit set image 'my-image=repo/image:*@sha256:digest' [7][2]. The * wildcard preserves existing values: image=*:tag keeps newName, image=newname:* keeps newTag, image=*@digest keeps newName/newTag [2][8]. Digests use @sha256:... format, with recent support for both tag+digest [9][10]. No security vulnerabilities (e.g., injection, command execution) are documented in results; input validation limits tags [5], and edits are confined to kustomization.yaml [1]. Use in CI/CD is common but commit changes to track updates [11]. Run kustomize edit set image --help for exact version-specific details [3].

Citations:


Add quotes around image name and tag variables in kustomize command to prevent shell injection.

The unquoted variables in the command string could allow shell metacharacters to break command parsing or execute unintended code when expanded by bash -c at line 250, even though these come from CI environment variables. The kustomize command itself has strict tag validation, but the injection risk occurs at the shell level before kustomize is invoked. Use:

COMPONENT_OVERRIDE_CMD="cd /installer && kustomize edit set image \"${COMPONENT_IMAGE_NAME}\"=\"${COMPONENT_IMAGE}\" && "
🤖 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/osac-project/cluster-tool/boot/osac-project-cluster-tool-boot-commands.sh`
around lines 230 - 235, The kustomize image override string built in
COMPONENT_OVERRIDE_CMD uses unquoted expansions of COMPONENT_IMAGE_NAME and
COMPONENT_IMAGE which can allow shell metacharacters to be interpreted when that
string is later executed; update the assignment of COMPONENT_OVERRIDE_CMD so the
image name and tag are shell-quoted (e.g. wrap ${COMPONENT_IMAGE_NAME} and
${COMPONENT_IMAGE} in double quotes inside the command string) to ensure safe
expansion before running the command via bash -c.

Comment on lines +18 to +24
function collect_artifacts() {
echo "Collecting test artifacts..."
timeout -s 9 2m scp -F "${SHARED_DIR}/ssh_config" \
"ci_machine:${REMOTE_RESULTS_DIR}/junit_vmaas.xml" \
"${ARTIFACT_DIR}/junit_vmaas.xml" 2>/dev/null || true
}
trap collect_artifacts EXIT

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Don't silently drop JUnit collection failures.

scp errors are fully suppressed here, so a green run can still publish no XML and lose the per-test reporting this workflow is adding. At least surface the copy failure, and preferably treat missing junit_vmaas.xml as a failed successful run.

Suggested change
 function collect_artifacts() {
     echo "Collecting test artifacts..."
-    timeout -s 9 2m scp -F "${SHARED_DIR}/ssh_config" \
-        "ci_machine:${REMOTE_RESULTS_DIR}/junit_vmaas.xml" \
-        "${ARTIFACT_DIR}/junit_vmaas.xml" 2>/dev/null || true
+    if ! timeout -s 9 2m scp -F "${SHARED_DIR}/ssh_config" \
+        "ci_machine:${REMOTE_RESULTS_DIR}/junit_vmaas.xml" \
+        "${ARTIFACT_DIR}/junit_vmaas.xml"; then
+        echo "Failed to collect junit_vmaas.xml" >&2
+        return 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
`@ci-operator/step-registry/osac-project/cluster-tool/test/osac-project-cluster-tool-test-commands.sh`
around lines 18 - 24, The collect_artifacts function currently silences all scp
errors so missing junit_vmaas.xml can pass unnoticed; remove the stderr
suppression and silent-true fallback on the scp command, capture its exit
status, and if the copy fails or the target file ${ARTIFACT_DIR}/junit_vmaas.xml
does not exist, print a clear error to stderr and exit non‑zero (so the pipeline
fails). Specifically modify the scp in collect_artifacts (the scp -F
"${SHARED_DIR}/ssh_config" "ci_machine:${REMOTE_RESULTS_DIR}/junit_vmaas.xml"
"${ARTIFACT_DIR}/junit_vmaas.xml") to not redirect 2>/dev/null || true, then
check its exit code and/or test -f "${ARTIFACT_DIR}/junit_vmaas.xml" and call
echo >&2 "ERROR: failed to collect junit_vmaas.xml" and exit 1 when missing.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch from d6e212a to 4862c3d Compare May 9, 2026 22:01
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch from 4862c3d to c47e7e0 Compare May 9, 2026 22:24
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch 2 times, most recently from af0a102 to 8602ce8 Compare May 9, 2026 22:48
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch from 8602ce8 to 227fc8e Compare May 9, 2026 23:13
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch from 227fc8e to 948f470 Compare May 9, 2026 23:44
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky
omer-vishlitzky force-pushed the osac-cluster-tool-vmaas branch from 948f470 to c5f50e0 Compare May 10, 2026 00:15
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

The previous check for Successful.status=="True" was wrong - during
reconciliation it stays False even though reason says Successful
(from the pre-snapshot run). The correct signal is
Running.message=="Awaiting next reconciliation" which flips from
"Running reconciliation" when the operator finishes.

Verified on live cluster: Running.message transitions after ~100s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Deleting routes and relying on the AAP operator to recreate them
is fundamentally unreliable — the operator's Ansible reconciliation
takes variable time and may not recreate routes if triggered
mid-cycle.

Instead, patch each route's spec.host in-place by replacing the
old snapshot domain with the new cluster domain. This is instant,
deterministic, and eliminates the AAP operator dependency entirely.

Verified on live cluster: all 5 routes patched in <1s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/retest

The AAP controller API returns 500/503 on slow CI machines when
the controller isn't fully ready yet, even though the gateway
API responds with 200. Add retry loops to the curl calls that
query and launch the publish-templates job template.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

The gather step was missing VM/CNV diagnostics, making it
impossible to debug slow VM operations in tests. Now collects:
- HyperConverged operator status
- VirtualMachine and VirtualMachineInstance state
- DataVolume and PVC status
- ComputeInstance CRD status
- Node CPU/memory usage
- openshift-cnv namespace events
- AAP operator CR status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

KubeVirt/CNV is OLM-managed, not a ClusterOperator. After snapshot
boot, virt-handler re-deploys and re-registers device plugins
(kvm, tun, vhost-net). Until that completes, devices.kubevirt.io/kvm
is 0 on the node and all VM scheduling fails with ErrorUnschedulable.

Confirmed by comparing failing vs passing CI runs:
- Failing: devices.kubevirt.io/kvm=0, HyperConverged Available=False
- Passing: devices.kubevirt.io/kvm=1k, HyperConverged Available=True

Add a wait in the test step (up to 600s) for HyperConverged
Available=True before starting pytest.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@openshift-merge-bot[bot]: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@openshift-merge-bot[bot]: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/retest

@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Job spec.template is immutable in Kubernetes. When the snapshot
has an old aap-bootstrap Job and the installer submodules update
its spec, oc apply fails. Delete all Jobs in the namespace first.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@omer-vishlitzky: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all osac-project/osac-test-infra presubmit Presubmit changed
pull-ci-osac-project-osac-test-infra-main-images osac-project/osac-test-infra presubmit Ci-operator config changed
pull-ci-osac-project-osac-operator-main-e2e-metal-vmaas-all osac-project/osac-operator presubmit Presubmit changed
pull-ci-osac-project-osac-operator-main-images osac-project/osac-operator presubmit Ci-operator config changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-all osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-images osac-project/osac-installer presubmit Ci-operator config changed
pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-all osac-project/fulfillment-service presubmit Presubmit changed
pull-ci-osac-project-fulfillment-service-main-images osac-project/fulfillment-service presubmit Presubmit changed
pull-ci-osac-project-fulfillment-service-main-unit osac-project/fulfillment-service presubmit Presubmit changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-all-periodic N/A periodic Periodic changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci

openshift-ci Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: all tests passed!

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants