Skip to content

Bug 86133: validate duplicate Nutanix failureDomain names and topology#10564

Open
chdeshpa-hue wants to merge 3 commits into
openshift:mainfrom
chdeshpa-hue:fix/OCPBUGS-86073-nutanix-duplicate-failuredomain-validation
Open

Bug 86133: validate duplicate Nutanix failureDomain names and topology#10564
chdeshpa-hue wants to merge 3 commits into
openshift:mainfrom
chdeshpa-hue:fix/OCPBUGS-86073-nutanix-duplicate-failuredomain-validation

Conversation

@chdeshpa-hue
Copy link
Copy Markdown

@chdeshpa-hue chdeshpa-hue commented May 19, 2026

Summary

Adds two missing validation checks for Nutanix failure domains:

  • Duplicate name detection: Rejects configurations where two failure domains share the same name. This was previously unvalidated for Nutanix (vSphere already had this check).
  • Duplicate topology detection: Rejects failure domains that have identical Prism Element UUID and subnet UUIDs. Copy-pasted failure domains that differ only in name provide no additional fault tolerance and can cause subtle scheduling issues.

Split from #10561 per reviewer feedback — this PR contains the Nutanix portion only.

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86133

Manual Test Results

Tested with a custom-built openshift-install binary. When two Nutanix failure domains share the same name or identical topology, the installer now correctly rejects:

Duplicate name:

ERROR failed to load asset "Install Config": invalid "install-config.yaml" file:
  platform.nutanix.failureDomains[1].name: Duplicate value:
    "failure domain name \"fd-pe1\" is already used by failureDomains[0]"

Duplicate topology:

ERROR failed to load asset "Install Config": invalid "install-config.yaml" file:
  platform.nutanix.failureDomains[1]: Invalid value: "fd-pe1-copy":
    failure domain "fd-pe1-copy" has identical topology (same prismElement and subnets)
    as "fd-pe1"; this provides no additional fault tolerance

Test Plan

  • Unit tests pass: go test ./pkg/types/nutanix/validation/
  • New test cases: failureDomain with duplicate name, failureDomain with duplicate topology same prismElement and subnet, valid failureDomain with different prismElements
  • Manual testing with custom binary

Made with Cursor

Summary by CodeRabbit

  • Bug Fixes

    • Improved Nutanix platform failure-domain validation to catch duplicate failure-domain names and detect identical topology configurations (same Prism Element and same set of subnets), treating subnet lists as order-independent.
  • Tests

    • Added table-driven tests verifying duplicate-name detection, identical-topology rejection, and subnet-order-independence in topology comparisons.

Adds two checks to Nutanix failure domain validation:

1. Duplicate name detection: rejects configurations where two failure
   domains share the same name, which previously went unvalidated.

2. Duplicate topology detection: rejects failure domains that have
   identical Prism Element UUID and subnet UUIDs. Copy-pasted failure
   domains that differ only in name provide no additional fault
   tolerance and can cause subtle scheduling issues.

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86073
Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Walkthrough

ValidatePlatform now checks Nutanix failureDomains for duplicate names and identical topology (Prism Element UUID + unordered SubnetUUIDs) using a deterministic topology key; tests were added for duplicate-name and duplicate-topology scenarios including subnet-order independence.

Changes

Failure-domain duplication validation

Layer / File(s) Summary
Validation imports and duplicate-name detection
pkg/types/nutanix/validation/platform.go
Add sort and strings imports. Change failureDomains loop to index-based iteration, track seen failure-domain names, and report duplicate names at failureDomains[i].name.
Topology duplicate detection and helper
pkg/types/nutanix/validation/platform.go
Compute a deterministic topology key from PrismElement.UUID and sorted SubnetUUIDs, cache seen topology keys, and emit Invalid errors for later entries with identical topology, anchored to failureDomains[i].
Failure-domain duplication test cases
pkg/types/nutanix/validation/platform_test.go
Add table-driven tests: duplicate failure-domain names produce an error; identical topology across entries (including when subnet UUID order differs) produces an error; differing prismElement with same SubnetUUIDs is accepted.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 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 changes: adding validation for duplicate Nutanix failureDomain names and topology, which directly matches the code modifications shown in the raw summary.
Docstring Coverage ✅ Passed Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%.
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 The modified test file uses standard Go testing with t.Run() table-driven tests, not Ginkgo. No It/Describe/Context/When constructs exist, making the Ginkgo test naming check inapplicable.
Test Structure And Quality ✅ Passed This PR's tests use standard Go testing, not Ginkgo. The custom check specifically applies to Ginkgo test code, making it inapplicable to this PR.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests are added. The test file uses standard Go unit testing (func Test...), not Ginkgo constructs. The check does not apply to this PR.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds unit tests in pkg/types/nutanix/validation/ using standard Go testing framework, not Ginkgo e2e tests. SNO compatibility check applies only to Ginkgo e2e tests.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds installer-level validation for Nutanix failure domain names/topology. Does not introduce pod scheduling constraints, affinity rules, or replica count logic that affect cluster topologies.
Ote Binary Stdout Contract ✅ Passed No stdout writes found. Code uses only fmt.Sprintf/fmt.Errorf (return values, not stdout), standard Go unit tests within TestValidatePlatform, no init/BeforeSuite/klog.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR adds only unit tests (Go testing package), not Ginkgo e2e tests. The custom check applies exclusively to Ginkgo e2e tests (It(), Describe(), Context(), When()).
No-Weak-Crypto ✅ Passed No weak crypto algorithms, custom crypto implementations, or non-constant-time secret comparisons found. Uses standard string operations and library functions only.
Container-Privileges ✅ Passed PR contains only Go source validation code for Nutanix platform configurations; no Kubernetes manifests or container configurations are present.
No-Sensitive-Data-In-Logs ✅ Passed No logging statements found. Error messages contain only non-sensitive data: failure domain names, UUIDs, and descriptive text. No passwords, tokens, or PII exposed.

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

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


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 and usage tips.

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 19, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 19, 2026

Hi @chdeshpa-hue. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@openshift-ci openshift-ci Bot requested review from jcpowermac and rvanderp3 May 19, 2026 12:02
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 (1)
pkg/types/nutanix/validation/platform_test.go (1)

433-451: ⚡ Quick win

Add a regression case for subnet-order invariance.

Since topology comparison depends on sorted subnet UUIDs, add a case where two failure domains have identical subnet sets in different orders and still fail as duplicate topology. This protects the core normalization behavior from regressions.

Example test case to add
+       {
+           name: "failureDomain duplicate topology with same subnets in different order",
+           platform: func() *nutanix.Platform {
+               p := validPlatform()
+               p.FailureDomains = []nutanix.FailureDomain{
+                   {
+                       Name:         "fd-1",
+                       PrismElement: nutanix.PrismElement{UUID: "fd-pe-uuid", Endpoint: nutanix.PrismEndpoint{Address: "fd-pe", Port: 9440}},
+                       SubnetUUIDs:  []string{"subnet-a", "subnet-b"},
+                   },
+                   {
+                       Name:         "fd-2",
+                       PrismElement: nutanix.PrismElement{UUID: "fd-pe-uuid", Endpoint: nutanix.PrismEndpoint{Address: "fd-pe", Port: 9440}},
+                       SubnetUUIDs:  []string{"subnet-b", "subnet-a"},
+                   },
+               }
+               return p
+           }(),
+           expectedError: `test-path\.failureDomains\[1\]: Invalid value: "fd-2": failure domain "fd-2" has identical topology`,
+       },
🤖 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 `@pkg/types/nutanix/validation/platform_test.go` around lines 433 - 451, Add a
regression test variant to the existing failure-domain duplicate-topology case
that verifies subnet-order invariance: modify the test case that uses
nutanix.Platform / FailureDomain (the case with Name "fd-1" and "fd-2") so one
FailureDomain has SubnetUUIDs in a different order than the other (e.g.,
{"a","b"} vs {"b","a"}) while keeping the same PrismElement (PrismElement and
PrismEndpoint fields identical), and assert the same expected error string about
identical topology; this ensures the topology comparison logic
(normalization/sorting of SubnetUUIDs) in the validation still treats
differently ordered but identical subnet sets as duplicates.
🤖 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 `@pkg/types/nutanix/validation/platform.go`:
- Around line 122-128: The duplicate-topology check using
topoKey/nutanixFailureDomainTopologyKey should be skipped for malformed failure
domains: ensure you only compute topoKey and consult/update fdTopologies after
basic validation that fd.PrismElement UUID is non-empty/valid and fd.Subnets is
non-empty and each subnet is valid; alternatively move the entire
topoKey/fdTopologies block to run after the existing required-field/subnet
validations so that field.Invalid additions for empty/invalid PrismElement or
Subnets occur instead of spurious "identical topology" errors.

---

Nitpick comments:
In `@pkg/types/nutanix/validation/platform_test.go`:
- Around line 433-451: Add a regression test variant to the existing
failure-domain duplicate-topology case that verifies subnet-order invariance:
modify the test case that uses nutanix.Platform / FailureDomain (the case with
Name "fd-1" and "fd-2") so one FailureDomain has SubnetUUIDs in a different
order than the other (e.g., {"a","b"} vs {"b","a"}) while keeping the same
PrismElement (PrismElement and PrismEndpoint fields identical), and assert the
same expected error string about identical topology; this ensures the topology
comparison logic (normalization/sorting of SubnetUUIDs) in the validation still
treats differently ordered but identical subnet sets as duplicates.
🪄 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: Enterprise

Run ID: 6c9bd4ef-5036-40cd-a0f4-1223dd900de4

📥 Commits

Reviewing files that changed from the base of the PR and between 0d798da and e082536.

📒 Files selected for processing (2)
  • pkg/types/nutanix/validation/platform.go
  • pkg/types/nutanix/validation/platform_test.go

Comment thread pkg/types/nutanix/validation/platform.go Outdated
@jcpowermac
Copy link
Copy Markdown
Contributor

/ok-to-test

cc: @abhay-nutanix

@openshift-ci openshift-ci Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 19, 2026
@chdeshpa-hue chdeshpa-hue changed the title Bug 86073: validate duplicate Nutanix failureDomain names and topology Bug 86133: validate duplicate Nutanix failureDomain names and topology May 19, 2026
- Move duplicate topology detection after PrismElement UUID and subnet
  validation so users see actionable "required field" errors instead of
  misleading "identical topology" when fields are simply empty
- Use \x00 as subnet separator to eliminate join ambiguity
- Add regression test confirming subnet-order invariance: identical
  subnet sets in different order are correctly detected as duplicates

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86133
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
pkg/types/nutanix/validation/platform.go (1)

134-142: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Skip topology dedupe when subnet list is syntactically present but effectively empty.

Line 134 still allows duplicate-topology checks for malformed SubnetUUIDs like []string{""}, which can reintroduce misleading “identical topology” errors alongside required-subnet errors. Tighten the gate to match validateSubnets’ required check semantics.

Suggested fix
-			if fd.PrismElement.UUID != "" && len(fd.SubnetUUIDs) > 0 {
+			if fd.PrismElement.UUID != "" && len(fd.SubnetUUIDs) > 0 && fd.SubnetUUIDs[0] != "" {
 				topoKey := nutanixFailureDomainTopologyKey(fd)
 				if prevName, exists := fdTopologies[topoKey]; exists {
 					allErrs = append(allErrs, field.Invalid(fldPath.Child("failureDomains").Index(idx), fd.Name,
 						fmt.Sprintf("failure domain %q has identical topology (same prismElement and subnets) as %q; this provides no additional fault tolerance", fd.Name, prevName)))
 				} else {
 					fdTopologies[topoKey] = fd.Name
 				}
 			}
🤖 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 `@pkg/types/nutanix/validation/platform.go` around lines 134 - 142, The
topology dedupe currently runs when fd.SubnetUUIDs is non-nil or non-zero-length
(e.g., []string{""}), which can falsely detect identical topologies; change the
guard in the block that references nutanixFailureDomainTopologyKey(fd) so it
only proceeds when SubnetUUIDs contains at least one non-empty UUID (for
example: replace len(fd.SubnetUUIDs) > 0 with a helper-style check that scans
for any s != "" or reuse the same required-subnet semantics from
validateSubnets), then keep the rest of the logic (fdTopologies lookup and
assignment) unchanged so malformed empty-string subnet slices are skipped and
won't trigger the duplicate-topology error.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@pkg/types/nutanix/validation/platform.go`:
- Around line 134-142: The topology dedupe currently runs when fd.SubnetUUIDs is
non-nil or non-zero-length (e.g., []string{""}), which can falsely detect
identical topologies; change the guard in the block that references
nutanixFailureDomainTopologyKey(fd) so it only proceeds when SubnetUUIDs
contains at least one non-empty UUID (for example: replace len(fd.SubnetUUIDs) >
0 with a helper-style check that scans for any s != "" or reuse the same
required-subnet semantics from validateSubnets), then keep the rest of the logic
(fdTopologies lookup and assignment) unchanged so malformed empty-string subnet
slices are skipped and won't trigger the duplicate-topology error.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: d5fcaf96-c9bf-42f3-b7f1-70141eaf16da

📥 Commits

Reviewing files that changed from the base of the PR and between e082536 and e540fe7.

📒 Files selected for processing (2)
  • pkg/types/nutanix/validation/platform.go
  • pkg/types/nutanix/validation/platform_test.go

@chdeshpa-hue
Copy link
Copy Markdown
Author

/retest

1 similar comment
@chdeshpa-hue
Copy link
Copy Markdown
Author

/retest

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 1, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

The duplicate name check and topology validation blocks were
indented at 3 tabs instead of 4 inside the for-range loop,
causing gofmt and golint CI failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
pkg/types/nutanix/validation/platform.go (1)

134-142: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Tighten the gating condition to avoid misleading topology errors.

The current gate checks len(fd.SubnetUUIDs) > 0 but not whether the first element is non-empty. If fd.SubnetUUIDs = [""], the gate passes but validateSubnets (line 127) will add a "must specify at least one subnet" error. The topology check will still run and may produce a spurious "identical topology" error if multiple failure domains have empty subnets, obscuring the root cause.

Proposed fix
-				if fd.PrismElement.UUID != "" && len(fd.SubnetUUIDs) > 0 {
+				if fd.PrismElement.UUID != "" && len(fd.SubnetUUIDs) > 0 && fd.SubnetUUIDs[0] != "" {
 					topoKey := nutanixFailureDomainTopologyKey(fd)
🤖 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 `@pkg/types/nutanix/validation/platform.go` around lines 134 - 142, The
topology duplicate check is running even when SubnetUUIDs contains only an empty
string, causing spurious "identical topology" errors; update the gating
condition around nutanixFailureDomainTopologyKey(fd) (the block that reads
fd.PrismElement.UUID and fd.SubnetUUIDs) to ensure there is at least one
non-empty subnet (e.g., len(fd.SubnetUUIDs) > 0 && fd.SubnetUUIDs[0] != "" or
check any non-empty element) before computing topoKey and consulting
fdTopologies so validateSubnets errors (from validateSubnets) are not masked;
keep the rest of the logic (fdTopologies map, fldPath.Child error append)
unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@pkg/types/nutanix/validation/platform.go`:
- Around line 134-142: The topology duplicate check is running even when
SubnetUUIDs contains only an empty string, causing spurious "identical topology"
errors; update the gating condition around nutanixFailureDomainTopologyKey(fd)
(the block that reads fd.PrismElement.UUID and fd.SubnetUUIDs) to ensure there
is at least one non-empty subnet (e.g., len(fd.SubnetUUIDs) > 0 &&
fd.SubnetUUIDs[0] != "" or check any non-empty element) before computing topoKey
and consulting fdTopologies so validateSubnets errors (from validateSubnets) are
not masked; keep the rest of the logic (fdTopologies map, fldPath.Child error
append) unchanged.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: ac946912-386a-4517-86eb-eacb64d7da75

📥 Commits

Reviewing files that changed from the base of the PR and between e540fe7 and f92a064.

📒 Files selected for processing (1)
  • pkg/types/nutanix/validation/platform.go

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 2, 2026

@chdeshpa-hue: The following test 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/prow/e2e-nutanix-ovn f92a064 link false /test e2e-nutanix-ovn

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.

@chdeshpa-hue
Copy link
Copy Markdown
Author

/retest e2e-nutanix-ovn

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 3, 2026

@chdeshpa-hue: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

/test artifacts-images
/test e2e-agent-compact-ipv4
/test e2e-aws-ovn
/test e2e-aws-ovn-edge-zones-manifest-validation
/test e2e-aws-ovn-upi
/test e2e-azure-nat-gateway-single-zone
/test e2e-azure-ovn
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test gofmt
/test golint
/test govet
/test images
/test integration-tests
/test integration-tests-nodejoiner
/test okd-scos-images
/test openstack-manifests
/test shellcheck
/test unit
/test verify-codegen
/test verify-deps
/test verify-vendor
/test yaml-lint

The following commands are available to trigger optional jobs:

/test aws-private
/test azure-ovn-marketplace-images
/test azure-private
/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-compact-ipv4-appliance-diskimage
/test e2e-agent-compact-ipv4-iso-no-registry
/test e2e-agent-compact-ipv4-none-platform
/test e2e-agent-compact-ipv4-rhel10-techpreview
/test e2e-agent-compact-ipv6-minimaliso
/test e2e-agent-ha-dualstack
/test e2e-agent-ha-dualstack-rhel10-techpreview
/test e2e-agent-sno-ipv4-pxe
/test e2e-agent-sno-ipv6
/test e2e-agent-sno-ipv6-rhel10-techpreview
/test e2e-agent-two-node-fencing-ipv4
/test e2e-aws-byo-subnet-role-security-groups
/test e2e-aws-custom-dns-techpreview
/test e2e-aws-default-config
/test e2e-aws-eusc-techpreview
/test e2e-aws-overlay-mtu-ovn-1200
/test e2e-aws-ovn-custom-iam-profile
/test e2e-aws-ovn-devpreview
/test e2e-aws-ovn-dualstack-ipv4-primary-techpreview
/test e2e-aws-ovn-dualstack-ipv6-primary-techpreview
/test e2e-aws-ovn-edge-zones
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-heterogeneous
/test e2e-aws-ovn-imdsv2
/test e2e-aws-ovn-pki-default-techpreview
/test e2e-aws-ovn-pki-rsa-techpreview
/test e2e-aws-ovn-proxy
/test e2e-aws-ovn-public-ipv4-pool
/test e2e-aws-ovn-public-ipv4-pool-disabled
/test e2e-aws-ovn-public-subnets
/test e2e-aws-ovn-rhcos10-techpreview
/test e2e-aws-ovn-shared-vpc-custom-security-groups
/test e2e-aws-ovn-shared-vpc-edge-zones
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview
/test e2e-aws-ovn-upgrade
/test e2e-aws-upi-proxy
/test e2e-azure-confidential-trustedlaunch
/test e2e-azure-custom-dns-techpreview
/test e2e-azure-default-config
/test e2e-azure-ovn-devpreview
/test e2e-azure-ovn-dualstack-ipv4-primary-techpreview
/test e2e-azure-ovn-dualstack-ipv6-primary-techpreview
/test e2e-azure-ovn-multidisk-techpreview
/test e2e-azure-ovn-resourcegroup
/test e2e-azure-ovn-shared-vpc
/test e2e-azure-ovn-techpreview
/test e2e-azure-ovn-upi
/test e2e-azurestack
/test e2e-azurestack-upi
/test e2e-crc
/test e2e-external-aws
/test e2e-external-aws-ccm
/test e2e-gcp-custom-dns
/test e2e-gcp-custom-endpoints
/test e2e-gcp-default-config
/test e2e-gcp-ovn-byo-vpc
/test e2e-gcp-ovn-devpreview
/test e2e-gcp-ovn-heterogeneous
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-xpn
/test e2e-gcp-secureboot
/test e2e-gcp-upgrade
/test e2e-gcp-upi-xpn
/test e2e-gcp-xpn-custom-dns
/test e2e-gcp-xpn-dedicated-dns-project
/test e2e-ibmcloud-ovn
/test e2e-metal-assisted
/test e2e-metal-ipi-ovn
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-swapped-hosts
/test e2e-metal-ipi-ovn-virtualmedia
/test e2e-metal-ovn-two-node-arbiter
/test e2e-metal-ovn-two-node-fencing
/test e2e-metal-single-node-live-iso
/test e2e-nutanix-ovn
/test e2e-openstack-ccpmso
/test e2e-openstack-dualstack
/test e2e-openstack-dualstack-upi
/test e2e-openstack-externallb
/test e2e-openstack-nfv-intel
/test e2e-openstack-proxy
/test e2e-openstack-singlestackv6
/test e2e-powervs-capi-ovn
/test e2e-vsphere-externallb-ovn
/test e2e-vsphere-host-groups-ovn-techpreview
/test e2e-vsphere-multi-vcenter-ovn
/test e2e-vsphere-ovn-devpreview
/test e2e-vsphere-ovn-disk-setup-techpreview
/test e2e-vsphere-ovn-hybrid-env
/test e2e-vsphere-ovn-multi-disk
/test e2e-vsphere-ovn-multi-network
/test e2e-vsphere-ovn-techpreview
/test e2e-vsphere-ovn-upi-multi-vcenter
/test e2e-vsphere-ovn-upi-zones
/test e2e-vsphere-ovn-zones
/test e2e-vsphere-ovn-zones-techpreview
/test e2e-vsphere-static-ovn
/test gcp-custom-endpoints-proxy-wif
/test gcp-private
/test okd-scos-e2e-aws-ovn

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-installer-main-artifacts-images
pull-ci-openshift-installer-main-e2e-aws-ovn
pull-ci-openshift-installer-main-e2e-nutanix-ovn
pull-ci-openshift-installer-main-gofmt
pull-ci-openshift-installer-main-golint
pull-ci-openshift-installer-main-govet
pull-ci-openshift-installer-main-images
pull-ci-openshift-installer-main-okd-scos-images
pull-ci-openshift-installer-main-shellcheck
pull-ci-openshift-installer-main-unit
pull-ci-openshift-installer-main-verify-codegen
pull-ci-openshift-installer-main-verify-deps
pull-ci-openshift-installer-main-verify-vendor
pull-ci-openshift-installer-main-yaml-lint
Details

In response to this:

/retest e2e-nutanix-ovn

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.

@chdeshpa-hue
Copy link
Copy Markdown
Author

@jcpowermac can this PR now be approved to merge?

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

Labels

ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants