Skip to content

MGMT-23721: add VMaaS periodic E2E jobs to Prow - #77782

Merged
openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
omer-vishlitzky:MGMT-23721-vmaas-prow
Apr 23, 2026
Merged

openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
omer-vishlitzky:MGMT-23721-vmaas-prow

Conversation

@omer-vishlitzky

@omer-vishlitzky omer-vishlitzky commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

Summary by CodeRabbit

  • Chores
    • Switched presubmit targets to validate image builds, updated triggers/rerun commands, and reinserted the images presubmit.
    • Added top-level image build & publish for osac-test-infra and a new postsubmit to promote images.
    • Changed default installer overlay to "vmaas-ci".
  • New Features
    • Added multiple periodic and presubmit e2e Metal vMAAS test jobs (compute, API/CLI fields, creation, delete-during-provision, restart incl. negative, subnet, virtual-network) with per-job schedules and gating.
    • Reworked E2E runner to execute tests via a containerized remote flow and expose configurable TEST/E2E env vars.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 14, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 14, 2026
@openshift-ci-robot

openshift-ci-robot commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-23721 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 "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

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.

@openshift-ci

openshift-ci Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai

coderabbitai Bot commented Apr 14, 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

Added an images build for osac-test-infra, introduced multiple e2e e2e-metal-vmaas-* periodic/presubmit jobs, expanded CI container specs and mounts, implemented remote SSH+podman execution of tests using an OSAC_TEST_IMAGE dependency, and changed the default e2e kustomize overlay to vmaas-ci.

Changes

Cohort / File(s) Summary
Config: test-infra images & tests
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
Added images block building Containerfile → osac-test-infra; removed placeholder temp test and added multiple e2e-metal-vmaas-* tests with capabilities: [intranet], per-job TEST env, shared ASSISTED_CONFIG (now OLM_OPERATORS=cnv,lvm).
Periodic jobs (test-infra)
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
Replaced/renamed prior periodic and added multiple new periodic jobs on cluster: build11 with distinct name/cron and --target args. Expanded container spec: command, image, imagePullPolicy, env.HTTP_SERVER_IP, ports, resources.requests.cpu, mounts/volumes, and serviceAccountName: ci-operator.
Presubmits (test-infra)
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
Retargeted presubmit from temp → images: renamed job/context, updated rerun command and trigger regex, changed ci-operator arg to --target=[images]; removed HTTP_SERVER_IP env and container http port.
Presubmits (installer)
ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml
Reworked presubmits: removed temp job, added multiple e2e-metal-vmaas-* presubmits on build11 with run_if_changed gating, expanded container args to include boskos/secret flags and --target=<e2e>, added HTTP_SERVER_IP, port, and boskos/credential mounts; re-added images presubmit (always_run: true) separately.
Postsubmits (test-infra)
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-postsubmits.yaml
Added a new postsubmit branch-ci-osac-project-osac-test-infra-main-images that promotes images (promote/upload/mirror/push) with mounted secrets and serviceAccountName: ci-operator; sets labels including job-release: "4.20".
Postsubmits (installer)
ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
Added Prow label job-release: "4.20" to branch-ci-osac-project-osac-installer-main-images.
Step registry: test script & ref
ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh, ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
Replaced echo stub with SSH to ci_machine that validates kubeconfig, then runs podman run ${OSAC_TEST_IMAGE} mounting kubeconfig and pull-secret and executing make test TEST="${TEST}". Added osac-test-infra dependency via OSAC_TEST_IMAGE and envs: TEST, E2E_NAMESPACE, E2E_VM_TEMPLATE, E2E_CLUSTER_TEMPLATE.
Installer step ref: overlay default
ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
Changed default E2E_KUSTOMIZE_OVERLAY from "ci" to "vmaas-ci".
Config: installer base_images & releases
ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
Expanded base_images with multiple assisted components and osac-test-infra; added releases.latest.candidate (ocp nightly 4.20); replaced placeholder test with several e2e-metal-vmaas-* tests using packet-assisted, shared ASSISTED_CONFIG, and workflow osac-project-ofcir-baremetal.

Sequence Diagram(s)

sequenceDiagram
    participant Prow as Prow Job
    participant CI as ci-operator Container
    participant Remote as ci_machine (SSH)
    participant Podman as Podman/OSAC Test Container
    participant Cluster as Kubernetes (kubeconfig)

    Prow->>CI: start periodic/presubmit job
    CI->>Remote: ssh (pass TEST,E2E_*,OSAC_TEST_IMAGE)
    Remote->>Remote: validate /root/kubeconfig and pull-secret
    Remote->>Podman: podman run OSAC_TEST_IMAGE (mount kubeconfig, pull-secret, env)
    Podman->>Cluster: run tests (make test TEST=...)
    Podman-->>Remote: exit status/logs
    Remote-->>CI: exit status/logs
    CI-->>Prow: job result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 10
✅ 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 accurately describes the main change: adding VMaaS periodic E2E jobs to Prow. It is concise, specific, and directly reflects the primary objective of the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Stable And Deterministic Test Names ✅ Passed This PR modifies only CI/Prow configuration YAML files with static test name references; it contains no Ginkgo test code or dynamic identifiers.
Test Structure And Quality ✅ Passed This PR contains no Ginkgo test code; it only modifies CI/CD configuration files and orchestration scripts.
Microshift Test Compatibility ✅ Passed This PR adds CI/Prow configuration for VMaaS e2e jobs, not new Ginkgo test implementations. No .go test files are modified or added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR modifies only CI/Prow configuration and test orchestration scripts; no Ginkgo e2e test code is added or modified.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI/CD infrastructure files in openshift/release repository (ci-operator configuration, Prow job definitions, step registry files). These define how tests and builds execute within Red Hat's CI system, not user-facing cluster deployments.
Ote Binary Stdout Contract ✅ Passed The PR modifies only CI-operator YAML configuration and shell wrapper scripts with no changes to Go test binaries or OTE binary entry points subject to the JSON stdout contract.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR contains CI configuration and test execution wrapper script, but actual Ginkgo test implementations are in external osac-project/osac-test-infra repository and not included in this PR.

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

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

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: invalid ci-operator config: invalid configuration: tests[0].as: should not be called 'images' because it gets confused with '[images]' target
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-robot

openshift-ci-robot commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-23721 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 "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

Summary by CodeRabbit

Release Notes

  • Chores
  • Enhanced CI/CD testing infrastructure with new image build verification process.
  • Expanded baremetal test coverage with dedicated test jobs for multiple deployment scenarios.
  • Updated test environment configurations and added periodic validation workflows for improved infrastructure reliability.

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 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.

🧹 Nitpick comments (3)
ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml (1)

14-16: Documentation example is slightly inconsistent with actual test names.

The documentation shows test_compute_instance_lifecycle but the jobs in the config file use names like test_compute_instance_creation, test_compute_instance_restart, etc. Consider updating the example to match an actual test name for clarity.

   - name: TEST
-    documentation: The test name to run (e.g. test_compute_instance_lifecycle)
+    documentation: The test name to run (e.g. test_compute_instance_creation)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml`
around lines 14 - 16, The env documentation for the TEST variable shows an
inconsistent example ("test_compute_instance_lifecycle"); update the example
string used in the documentation for the env key TEST to match an actual job
name present in this config (e.g., "test_compute_instance_creation" or another
real test like "test_compute_instance_restart") so the documentation aligns with
the configured job names.
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

61-204: Consider using YAML anchors to reduce configuration duplication.

All 8 E2E jobs share identical ASSISTED_CONFIG blocks (lines 68-76, 86-94, etc.). This repetition increases maintenance burden and risk of inconsistent updates.

YAML anchors can define the shared configuration once:

Example refactor using YAML anchors
# Define anchor at the first job
- as: e2e-metal-vmaas-compute-instance-creation
  capabilities:
  - intranet
  cron: 0 2 * * 1
  steps:
    cluster_profile: packet-assisted
    env:
      ASSISTED_CONFIG: &vmaas-assisted-config |
        OLM_OPERATORS=cnv
        NUM_MASTERS=1
        NUM_WORKERS=0
        MASTER_MEMORY=57344
        MASTER_DISK_COUNT=2
        MASTER_DISK=200000000000
        MASTER_CPU=24
        OPENSHIFT_VERSION=4.20
      TEST: test_compute_instance_creation
    workflow: osac-project-ofcir-baremetal

# Subsequent jobs reference the anchor
- as: e2e-metal-vmaas-compute-instance-api-fields
  capabilities:
  - intranet
  cron: 0 6 * * 1
  steps:
    cluster_profile: packet-assisted
    env:
      ASSISTED_CONFIG: *vmaas-assisted-config
      TEST: test_compute_instance_api_fields
    workflow: osac-project-ofcir-baremetal
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 61 - 204, The repeated ASSISTED_CONFIG block should be factored
into a single YAML anchor and referenced by the other jobs: create an anchor
(e.g. &vmaas-assisted-config) on the ASSISTED_CONFIG scalar in the first job
(as: e2e-metal-vmaas-compute-instance-creation) and replace the inline
ASSISTED_CONFIG blocks in the other jobs (e.g.
e2e-metal-vmaas-compute-instance-api-fields, -cli-fields,
-delete-during-provision, -restart, -restart-negative, -subnet-lifecycle,
-virtual-network-lifecycle) with the alias (*vmaas-assisted-config) so each job
still sets TEST uniquely but reuses the shared ASSISTED_CONFIG.
ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh (1)

23-23: set +x is unnecessary - tracing was never enabled.

The script has set -o nounset, set -o errexit, set -o pipefail but never enables tracing with set -x. The set +x on line 23 has no effect.

If the intent is defensive (to prevent secrets from being logged if someone adds -x later), consider adding a comment explaining this, or simply remove the line.

-set +x
+# Disable trace to prevent secrets from appearing in logs
+set +x
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh`
at line 23, Remove the no-op defensive trace-disable: delete the standalone "set
+x" line (it has no effect since tracing isn't enabled) from the script; if you
want to keep a defensive note instead, replace it with a brief comment
explaining it's intentionally omitted to prevent accidental tracing of secrets
rather than the actual "set +x" command.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 61-204: The repeated ASSISTED_CONFIG block should be factored into
a single YAML anchor and referenced by the other jobs: create an anchor (e.g.
&vmaas-assisted-config) on the ASSISTED_CONFIG scalar in the first job (as:
e2e-metal-vmaas-compute-instance-creation) and replace the inline
ASSISTED_CONFIG blocks in the other jobs (e.g.
e2e-metal-vmaas-compute-instance-api-fields, -cli-fields,
-delete-during-provision, -restart, -restart-negative, -subnet-lifecycle,
-virtual-network-lifecycle) with the alias (*vmaas-assisted-config) so each job
still sets TEST uniquely but reuses the shared ASSISTED_CONFIG.

In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh`:
- Line 23: Remove the no-op defensive trace-disable: delete the standalone "set
+x" line (it has no effect since tracing isn't enabled) from the script; if you
want to keep a defensive note instead, replace it with a brief comment
explaining it's intentionally omitted to prevent accidental tracing of secrets
rather than the actual "set +x" command.

In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml`:
- Around line 14-16: The env documentation for the TEST variable shows an
inconsistent example ("test_compute_instance_lifecycle"); update the example
string used in the documentation for the env key TEST to match an actual job
name present in this config (e.g., "test_compute_instance_creation" or another
real test like "test_compute_instance_restart") so the documentation aligns with
the configured job names.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c362ff9c-9fad-41a1-8a8b-740d7a5d0e9e

📥 Commits

Reviewing files that changed from the base of the PR and between b0d6ac6 and 56c3577.

📒 Files selected for processing (6)
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml

@openshift-ci-robot

openshift-ci-robot commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-23721 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 "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

Summary by CodeRabbit

  • Chores
  • Switched CI presubmit target to validate images and updated trigger/rerun commands.
  • Added top-level image build verification to CI.
  • New Features
  • Introduced multiple periodic e2e metal test jobs covering compute, restart, delete-during-provision, subnet and network lifecycles with separate schedules.
  • Reworked the E2E test runner to execute tests via a containerized remote flow and added configurable test/env variables.
  • Chores
  • Changed default installer overlay to "vmaas-ci".

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 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.

🧹 Nitpick comments (1)
ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh (1)

9-35: Well-structured remote E2E execution.

The SSH-based remote test execution with heredoc, positional argument passing, and kubeconfig discovery is cleanly implemented. The 60-minute timeout is reasonable for E2E tests.

Minor cleanup: Line 23 set +x appears unnecessary since there's no corresponding set -x earlier in the remote script. Consider removing it.

,

🧹 Optional: Remove unused trace toggle
 PULL_SECRET_PATH="/root/pull-secret"

-set +x
 podman run --authfile "${PULL_SECRET_PATH}" --rm --network=host \
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh`
around lines 9 - 35, The remote heredoc contains an unnecessary trace toggle:
remove the lone "set +x" after "set -euo pipefail" in the remote script (inside
the ssh heredoc) because there is no matching "set -x" or need to disable
tracing; update the block that sets TEST/E2E_*/OSAC_TEST_IMAGE and the podman
run invocation accordingly by deleting the "set +x" line to clean up the script.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh`:
- Around line 9-35: The remote heredoc contains an unnecessary trace toggle:
remove the lone "set +x" after "set -euo pipefail" in the remote script (inside
the ssh heredoc) because there is no matching "set -x" or need to disable
tracing; update the block that sets TEST/E2E_*/OSAC_TEST_IMAGE and the podman
run invocation accordingly by deleting the "set +x" line to clean up the script.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3aef4350-03c0-4371-a406-ac9cce877f76

📥 Commits

Reviewing files that changed from the base of the PR and between 56c3577 and afd6d21.

📒 Files selected for processing (6)
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
✅ Files skipped from review due to trivial changes (2)
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml

@openshift-ci-robot

openshift-ci-robot commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-23721 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 "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

Summary by CodeRabbit

  • Chores
  • Switched CI presubmit target to validate images and updated trigger/rerun commands.
  • Added top-level image build verification to CI.
  • Changed default installer overlay to "vmaas-ci".
  • New Features
  • Introduced multiple periodic e2e metal test jobs covering compute, CLI/API fields, creation, delete-during-provision, restart (including negative), subnet and virtual network lifecycles with separate schedules.
  • Reworked the E2E test runner to execute tests via a containerized remote flow and added configurable TEST and E2E environment variables.

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 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: 1

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

57-200: Consider YAML anchors to reduce duplication.

All eight test definitions share identical ASSISTED_CONFIG blocks. Using YAML anchors would reduce maintenance burden and ensure consistency when updating shared configuration.

♻️ Example using YAML anchors
# Define anchor at first usage
tests:
- as: e2e-metal-vmaas-compute-instance-creation
  capabilities:
  - intranet
  cron: 0 2 * * 1
  steps:
    cluster_profile: packet-assisted
    env:
      ASSISTED_CONFIG: &assisted-config |
        OLM_OPERATORS=cnv
        NUM_MASTERS=1
        NUM_WORKERS=0
        MASTER_MEMORY=57344
        MASTER_DISK_COUNT=2
        MASTER_DISK=200000000000
        MASTER_CPU=24
        OPENSHIFT_VERSION=4.20
      TEST: test_compute_instance_lifecycle
    workflow: osac-project-ofcir-baremetal
# Reference anchor in subsequent tests
- as: e2e-metal-vmaas-compute-instance-api-fields
  capabilities:
  - intranet
  cron: 0 6 * * 1
  steps:
    cluster_profile: packet-assisted
    env:
      ASSISTED_CONFIG: *assisted-config
      TEST: test_compute_instance_api_fields
    workflow: osac-project-ofcir-baremetal
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 57 - 200, Multiple test job entries repeat the identical
ASSISTED_CONFIG block; define a YAML anchor for that block and reuse it to
eliminate duplication. Locate the repeated ASSISTED_CONFIG scalar in the test
definitions (entries identified by the as values like
e2e-metal-vmaas-compute-instance-creation,
e2e-metal-vmaas-compute-instance-api-fields, etc.), create a single anchor
(e.g., &assisted-config) where it first appears, and replace subsequent
ASSISTED_CONFIG blocks with the anchor reference (*assisted-config) in each
job’s steps.env to keep TEST and other unique fields unchanged.
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml (1)

1-657: Consider regenerating this file with prowgen.

The jobs have the label ci.openshift.io/generator: prowgen, indicating they should be generated from the ci-operator config. Manual editing of generated files risks drift between the config and job definitions. Run make jobs or the appropriate prowgen command to regenerate.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`
around lines 1 - 657, The periodic jobs in this YAML appear to be generated
(they contain the label ci.openshift.io/generator: prowgen) but were edited
manually; regenerate the jobs from the ci-operator config instead of
hand-editing to prevent drift: run the repo's job generation (e.g. make jobs or
the project's prowgen command) and reapply the generated output so names like
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-api-fields
and other periodic-ci-osac-project-osac-test-infra-main-* entries are produced
from source; if you intentionally made a one-off change, revert manual edits and
update the ci-operator config that drives prowgen so the change is persisted in
generation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`:
- Around line 45-83: The container mounts /secrets/gcs via a volumeMount named
gcs-credentials but no corresponding volume is defined; add a volumes entry
named gcs-credentials to each of the eight periodic job specs (the same files
referencing volumeMounts) with a secret source, e.g. add under volumes: - name:
gcs-credentials secret: secretName: gcs-credentials (or include items if
specific key/path required) so the mount name gcs-credentials in the container
matches an actual volume definition.

---

Nitpick comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 57-200: Multiple test job entries repeat the identical
ASSISTED_CONFIG block; define a YAML anchor for that block and reuse it to
eliminate duplication. Locate the repeated ASSISTED_CONFIG scalar in the test
definitions (entries identified by the as values like
e2e-metal-vmaas-compute-instance-creation,
e2e-metal-vmaas-compute-instance-api-fields, etc.), create a single anchor
(e.g., &assisted-config) where it first appears, and replace subsequent
ASSISTED_CONFIG blocks with the anchor reference (*assisted-config) in each
job’s steps.env to keep TEST and other unique fields unchanged.

In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`:
- Around line 1-657: The periodic jobs in this YAML appear to be generated (they
contain the label ci.openshift.io/generator: prowgen) but were edited manually;
regenerate the jobs from the ci-operator config instead of hand-editing to
prevent drift: run the repo's job generation (e.g. make jobs or the project's
prowgen command) and reapply the generated output so names like
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-api-fields
and other periodic-ci-osac-project-osac-test-infra-main-* entries are produced
from source; if you intentionally made a one-off change, revert manual edits and
update the ci-operator config that drives prowgen so the change is persisted in
generation.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5fbe27a8-fdfc-482e-a84d-5c0cb7956276

📥 Commits

Reviewing files that changed from the base of the PR and between afd6d21 and df1cc26.

📒 Files selected for processing (6)
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
✅ Files skipped from review due to trivial changes (1)
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh

@omer-vishlitzky
omer-vishlitzky marked this pull request as ready for review April 15, 2026 14:14
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 15, 2026
@openshift-ci-robot

openshift-ci-robot commented Apr 16, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references MGMT-23721 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.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23721

Add 8 periodic VMaaS E2E jobs to Prow, one per test:

  • compute instance lifecycle
  • API fields
  • CLI fields
  • delete during provision
  • restart
  • restart negative
  • virtual network lifecycle
  • subnet lifecycle

Schedule: spread across Mon-Thu at 02:00/06:00 UTC.
Uses the existing osac-project-ofcir-baremetal workflow with OLM_OPERATORS=cnv.

Summary by CodeRabbit

  • Chores
  • Switched CI presubmit target to validate images, updated triggers/rerun commands, and reinserted the images presubmit.
  • Added top-level image build verification to CI and introduced a published osac-test-infra image.
  • Changed default installer overlay to "vmaas-ci".
  • New Features
  • Added multiple periodic and presubmit e2e metal vMAAS test jobs covering compute, API/CLI fields, creation, delete-during-provision, restart (including negative), subnet, and virtual network lifecycles with separate schedules.
  • Reworked E2E test runner to run tests via a containerized remote flow and added configurable TEST and E2E environment variables.

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 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: 3

♻️ Duplicate comments (2)
ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml (1)

48-86: ⚠️ Potential issue | 🔴 Critical

The new e2e presubmits are also missing gcs-credentials.

This container mounts /secrets/gcs at Lines 55-57 and points ci-operator at /secrets/gcs/service-account.json, but the volumes list in Lines 68-86 never defines gcs-credentials. The same pod template is reused for the rest of the new VMaaS presubmits, so they will all fail before execution.

Suggested fix
       - name: ci-pull-credentials
         secret:
           secretName: ci-pull-credentials
+      - name: gcs-credentials
+        secret:
+          secretName: gce-sa-credentials-gcs-publisher
       - name: manifest-tool-local-pusher
         secret:
           secretName: manifest-tool-local-pusher
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml`
around lines 48 - 86, The pod template mounts /secrets/gcs (volumeMount name
gcs-credentials) but the volumes list lacks a matching volume; add a volume
entry named gcs-credentials under volumes (similar to ci-pull-credentials or
manifest-tool-local-pusher) that references the GCS secret (e.g., secretName:
gcs-credentials and include the service-account.json item if needed) so the
container can access /secrets/gcs/service-account.json when running as
serviceAccountName ci-operator.
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml (1)

45-83: ⚠️ Potential issue | 🔴 Critical

Add the missing gcs-credentials volume.

The container mounts gcs-credentials at Lines 52-54 and passes --gcs-upload-secret=/secrets/gcs/service-account.json, but there is no matching volume in Lines 65-83. The same pod template is copied into the other seven periodic jobs below, so all of them will fail pod creation before ci-operator starts.

Suggested fix
     - name: ci-pull-credentials
       secret:
         secretName: ci-pull-credentials
+    - name: gcs-credentials
+      secret:
+        secretName: gce-sa-credentials-gcs-publisher
     - name: manifest-tool-local-pusher
       secret:
         secretName: manifest-tool-local-pusher
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`
around lines 45 - 83, The pod template mounts /secrets/gcs as name
gcs-credentials and the container uses
--gcs-upload-secret=/secrets/gcs/service-account.json but there is no
corresponding volume in the volumes list; add a volume entry with name:
gcs-credentials that references the Kubernetes Secret (e.g., secretName:
gcs-credentials) so the mountPath has backing data (optionally include items
mapping key/service-account.json if the secret key differs); update the volumes
section alongside existing entries (boskos, ci-pull-credentials,
manifest-tool-local-pusher, pull-secret, result-aggregator).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`:
- Around line 179-196: The TEST env in the job definition for as:
e2e-metal-vmaas-compute-instance-restart-negative is using the wrong selector
(test_compute_instance_restart_negative) and should match the osac-test-infra
job; update the TEST value in that job's env block to
test_compute_instance_restart_past_timestamp_ignored so installer and test-infra
exercise the same scenario (look for the job with as:
e2e-metal-vmaas-compute-instance-restart-negative and change the TEST variable
accordingly).
- Around line 125-142: The TEST env value is pointing at the wrong test
selector; update the TEST environment variable from
test_compute_instance_cli_fields to test_compute_instance_cli_explicit_fields so
the job's CLI selector matches the OSAC_TEST_IMAGE used by the osac-test-infra
suite (ensure any references to test_compute_instance_cli_fields in this job’s
env block are replaced with test_compute_instance_cli_explicit_fields to align
selectors).

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 39-42: The images block currently builds the osac-test-infra image
but does not promote it, so downstream repos pulling
osac-project/osac-test-infra:latest will get stale/missing tags; add a promotion
block for the image named "osac-test-infra" in the same config (under
images.items / image stream) that publishes the built image to the shared
repository (e.g., set promotion: { name: "osac-test-infra", tag: "latest", to:
"ocp", ... } or equivalent per ci-operator schema), ensuring the merge job
updates the :latest tag used by osac-installer; update the config section around
images/items and the image entry for osac-test-infra to include the promotion
stanza.

---

Duplicate comments:
In
`@ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml`:
- Around line 48-86: The pod template mounts /secrets/gcs (volumeMount name
gcs-credentials) but the volumes list lacks a matching volume; add a volume
entry named gcs-credentials under volumes (similar to ci-pull-credentials or
manifest-tool-local-pusher) that references the GCS secret (e.g., secretName:
gcs-credentials and include the service-account.json item if needed) so the
container can access /secrets/gcs/service-account.json when running as
serviceAccountName ci-operator.

In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`:
- Around line 45-83: The pod template mounts /secrets/gcs as name
gcs-credentials and the container uses
--gcs-upload-secret=/secrets/gcs/service-account.json but there is no
corresponding volume in the volumes list; add a volume entry with name:
gcs-credentials that references the Kubernetes Secret (e.g., secretName:
gcs-credentials) so the mountPath has backing data (optionally include items
mapping key/service-account.json if the secret key differs); update the volumes
section alongside existing entries (boskos, ci-pull-credentials,
manifest-tool-local-pusher, pull-secret, result-aggregator).
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: fa67aad0-b57c-454a-b546-0fbb773a3773

📥 Commits

Reviewing files that changed from the base of the PR and between df1cc26 and 1ef2b48.

📒 Files selected for processing (9)
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
✅ Files skipped from review due to trivial changes (3)
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml

@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

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

6 similar comments
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.
@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.

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.
@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.

1 similar comment
@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-ci

openshift-ci Bot commented Apr 22, 2026 •

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-virtual-network-lifecycle ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-virtual-network-lifecycle
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-creation ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-creation
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-restart-negative ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart-negative
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-api-fields ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-api-fields
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-cli-fields ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-cli-fields
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-delete-during-provision ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-delete-during-provision
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-subnet-lifecycle ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-subnet-lifecycle
ci/rehearse/osac-project/osac-installer/main/e2e-metal-vmaas-compute-instance-restart ca10339 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart

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.

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-cli-fields periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart-negative periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-subnet-lifecycle periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-api-fields periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-virtual-network-lifecycle periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-delete-during-provision periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-creation

@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-installer-main-e2e-metal-vmaas-compute-instance-api-fields osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-cli-fields osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-creation osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-delete-during-provision osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart-negative osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-subnet-lifecycle osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-virtual-network-lifecycle 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-osac-test-infra-main-images osac-project/osac-test-infra presubmit Presubmit changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-virtual-network-lifecycle N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-creation N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-delete-during-provision N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-api-fields N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart-negative N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-subnet-lifecycle N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-cli-fields N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart 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 added the lgtm Indicates that a PR is ready to be merged. label Apr 23, 2026
@openshift-ci

openshift-ci Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adriengentil, omer-vishlitzky

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

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 23, 2026
@omer-vishlitzky

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@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 openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Apr 23, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 8c57cc2 into openshift:main Apr 23, 2026
26 checks passed
Prucek pushed a commit to Prucek/release that referenced this pull request Apr 29, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
BATMAN-JD pushed a commit to BATMAN-JD/release that referenced this pull request May 1, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
fjglira pushed a commit to fjglira/release that referenced this pull request Jun 3, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
andrej1991 pushed a commit to andrej1991/release that referenced this pull request Jul 6, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
SachinNinganure pushed a commit to SachinNinganure/release that referenced this pull request Jul 20, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
malingatembo pushed a commit to malingatembo/release that referenced this pull request Aug 5, 2026
* MGMT-23721: add VMaaS periodic E2E jobs to Prow

* MGMT-23721: fix KUBECONFIG dir and missing default StorageClass

On the ci_machine, $KUBECONFIG points to a directory, not a file.
Resolve it to the actual file and export so all subsequent oc commands
work. Restore the lvms-vg1 default StorageClass annotation that
keycloak's PVC depends on.

* MGMT-23721: wait for CNV readiness before OSAC setup

Pass VIRT_SERVICE=true so setup.sh waits for HyperConverged
to be fully ready before installing cert-manager. Without
this, cert-manager installation races with CNV sub-operator
reconciliation and occasionally times out.

Increase SSH timeout from 60m to 120m to accommodate the
additional CNV readiness wait.

* MGMT-23721: use file-based TEST names to avoid SSH argument splitting

SSH flattens positional arguments into a single string (RFC 4254),
so TEST values with spaces (e.g. "test_compute_instance_restart
and not negative") get split, shifting all subsequent arguments.

Switch all TEST values to use pytest file names (e.g.
test_compute_instance_restart.py) which are unique, have no
spaces, and match exactly one test module each.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants