Skip to content

Add nmstate install step for virt-cluster-validate.#82122

Open
oshoval wants to merge 1 commit into
openshift:mainfrom
oshoval:nmstate
Open

Add nmstate install step for virt-cluster-validate.#82122
oshoval wants to merge 1 commit into
openshift:mainfrom
oshoval:nmstate

Conversation

@oshoval

@oshoval oshoval commented Jul 19, 2026

Copy link
Copy Markdown

Install nmstate before virt-cluster-validate runs so CI can exercise host-network checks instead of skipping them.

Summary by CodeRabbit

Updates OpenShift CNV CI validation to install and set up the nmstate operator before running virt-cluster-validate. The new cnv-virt-cluster-validate-install-nmstate step is added to the Azure and GCP e2e pipeline validation flows, and the oc adm must-gather SKIP_CHECKS list is adjusted to stop skipping host-network checks (11-host-network). The added install script is responsible for creating/using the required namespaces and waiting for the nmstate CRDs/operator to become available, so CI can exercise host-network validation instead of bypassing it.

@openshift-ci
openshift-ci Bot requested review from dollierp and fabiand July 19, 2026 07:24
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@oshoval, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 43 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 03c59d68-fdbf-4543-8390-922bfe4c74e7

📥 Commits

Reviewing files that changed from the base of the PR and between 886f62e and d0d07d9.

📒 Files selected for processing (1)
  • ci-operator/config/openshift-cnv/virt-cluster-validate/openshift-cnv-virt-cluster-validate-main.yaml

Walkthrough

The CI workflow adds an nmstate installation step before Azure and GCP virt-cluster validation. The step installs or reuses nmstate resources, and host-network checks are no longer excluded from must-gather validation.

Changes

Nmstate validation integration

Layer / File(s) Summary
Install and register nmstate
ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/*
Adds the CI step definition, installer script, metadata, and ownership configuration for nmstate.
Enable host-network validation
ci-operator/config/openshift-cnv/virt-cluster-validate/openshift-cnv-virt-cluster-validate-main.yaml
Runs nmstate installation before Azure and GCP validation and removes 11-host-network from must-gather exclusions.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CI as virt-cluster-validate
  participant Cluster as OpenShift cluster
  participant OLM as nmstate operator
  participant Checks as Host-network checks
  CI->>Cluster: Run install-nmstate step
  CI->>OLM: Apply operator manifests
  OLM-->>Cluster: Make NMState resource Available
  CI->>Checks: Run validation with host-network checks enabled
Loading

Possibly related PRs

Suggested reviewers: fabiand, dollierp

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding an nmstate install step for virt-cluster-validate.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 No Ginkgo test titles were added or modified; the PR only changes CI config and step-registry/bash files.
Test Structure And Quality ✅ Passed No Ginkgo test code was added or modified; the PR only changes CI config and a shell install step, so this test-quality review is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo test definitions were added; the diff only changes CI config and an nmstate install step.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo tests were added; the diff is CI/step-registry plumbing, so the SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The PR only adds CI step wiring and an nmstate install script; no node selectors, affinities, spread constraints, or replica logic were introduced.
Ote Binary Stdout Contract ✅ Passed No OTE binary/main code changed; this PR only adds CI config and a shell step script, so the stdout contract is not implicated.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes CI config and an install-nmstate shell step, with no IPv4-only parsing or public-internet calls in new test code.
No-Weak-Crypto ✅ Passed Changed files are YAML and a bash installer; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons were present.
Container-Privileges ✅ Passed No changed manifest or step registry file sets privileged/host* flags, SYS_ADMIN, allowPrivilegeEscalation, or root securityContext; only an nmstate install step was added.
No-Sensitive-Data-In-Logs ✅ Passed Only generic status logs were added; no echoes/prints of secrets, tokens, PII, or hostnames appear in the new step or CI config.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci

openshift-ci Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: oshoval
Once this PR has been reviewed and has the lgtm label, please assign aleskandro 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

@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/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-ref.yaml (1)

5-5: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Increase the step timeout to align with script wait times.

The installation script contains multiple sequential wait operations (e.g., waiting for the CSV to appear, waiting for the CSV to succeed, and waiting for the NMState CR to become Available), each using a 5-minute timeout (TIMEOUT=300).
However, the step itself is configured with a hard timeout of 5m0s. If the operator installation takes slightly longer than 5 minutes (which is common due to image pulling and reconciliation), Prow will forcefully terminate the step before the script's internal logic has a chance to finish or time out gracefully.

Consider increasing this timeout to 15m0s to safely accommodate the sequential wait loops.

🛠️ Proposed fix
-  timeout: 5m0s
+  timeout: 15m0s
🤖 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/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-ref.yaml`
at line 5, Increase the step timeout from 5m0s to 15m0s in the step
configuration so the installation script’s sequential waits can complete without
premature termination.
🤖 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.

Nitpick comments:
In
`@ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-ref.yaml`:
- Line 5: Increase the step timeout from 5m0s to 15m0s in the step configuration
so the installation script’s sequential waits can complete without premature
termination.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 73df976f-9686-43be-ad86-f6fe18b3e6cf

📥 Commits

Reviewing files that changed from the base of the PR and between 7048642 and fd68c1a.

📒 Files selected for processing (5)
  • ci-operator/config/openshift-cnv/virt-cluster-validate/openshift-cnv-virt-cluster-validate-main.yaml
  • ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/OWNERS
  • ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-commands.sh
  • ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-ref.metadata.json
  • ci-operator/step-registry/cnv/virt-cluster-validate/install-nmstate/cnv-virt-cluster-validate-install-nmstate-ref.yaml

@oshoval
oshoval force-pushed the nmstate branch 2 times, most recently from 886f62e to 68907de Compare July 19, 2026 07:33
@oshoval

oshoval commented Jul 19, 2026

Copy link
Copy Markdown
Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Install nmstate before virt-cluster-validate runs so CI can exercise host-network checks instead of skipping them.

Assisted-by: Cursor
Signed-off-by: Or Shoval <oshoval@redhat.com>
@oshoval

oshoval commented Jul 19, 2026

Copy link
Copy Markdown
Author

/pj-rehearse pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-azure
/pj-rehearse pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-gcp

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@oshoval: 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]
@oshoval: 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-openshift-cnv-virt-cluster-validate-main-e2e-azure openshift-cnv/virt-cluster-validate presubmit Ci-operator config changed
pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-gcp openshift-cnv/virt-cluster-validate presubmit Ci-operator config 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-merge-bot

Copy link
Copy Markdown
Contributor

@oshoval: 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.

@oshoval

oshoval commented Jul 19, 2026

Copy link
Copy Markdown
Author

/pj-rehearse pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-azure pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-gcp

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

cpu: 100m
memory: 600Mi
timeout: 1h0m0s
- ref: cnv-virt-cluster-validate-install-nmstate

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.

Could the operatorhub-subscribe-nmstate-operator step be re-used?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

will check, first need to fix the lanes failures
thx

@openshift-ci

openshift-ci Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

@oshoval: 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/openshift-cnv/virt-cluster-validate/main/e2e-azure d0d07d9 link unknown /pj-rehearse pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-azure
ci/rehearse/openshift-cnv/virt-cluster-validate/main/e2e-gcp d0d07d9 link unknown /pj-rehearse pull-ci-openshift-cnv-virt-cluster-validate-main-e2e-gcp

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants