Skip to content

fix: OCPBUGS-86073: validate duplicate failureDomain names and topology (Nutanix, vSphere)#10561

Closed
chdeshpa-hue wants to merge 1 commit into
openshift:mainfrom
chdeshpa-hue:fix/OCPBUGS-86073-duplicate-failuredomain-validation
Closed

fix: OCPBUGS-86073: validate duplicate failureDomain names and topology (Nutanix, vSphere)#10561
chdeshpa-hue wants to merge 1 commit into
openshift:mainfrom
chdeshpa-hue:fix/OCPBUGS-86073-duplicate-failuredomain-validation

Conversation

@chdeshpa-hue
Copy link
Copy Markdown

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

Summary

Fixes OCPBUGS-86073

The installer does not detect when multiple failure domains point to the same underlying infrastructure. This gives users a false sense of zone-level fault tolerance when none exists.

Three gaps were identified and fixed:

  • Nutanix: duplicate failure domain names accepted — Two failure domains can have the exact same name. vSphere already had this check; Nutanix did not.
  • Nutanix: duplicate topology accepted — Two failure domains with different names can point to the same Prism Element UUID and subnet UUIDs.
  • vSphere: duplicate topology accepted — Two failure domains with different names/zones can have identical topology (same server, datacenter, computeCluster, datastore, networks, resourcePool).

This is especially impactful on Nutanix where failure domains are optional and entirely manual (copy-paste YAML is the only configuration method).

Changes

  • pkg/types/nutanix/validation/platform.go: Added duplicate name check and duplicate topology check (comparing Prism Element UUID + subnet UUIDs) across failure domains.
  • pkg/types/vsphere/validation/platform.go: Added duplicate topology check (comparing server, datacenter, computeCluster, datastore, networks, resourcePool) across failure domains.
  • Both platform test files updated with new test cases.

Manual Test Results (4.22 RC3 custom binary)

Test 1 — vSphere: duplicate topology, different names:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
  failed to create install config: invalid "install-config.yaml" file:
  [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
   cannot be used more than once for the failure domain region "generated-region",
   platform.vsphere.failureDomains[1]: Invalid value: "fd-1": failure domain "fd-1"
   has identical topology (same server, datacenter, computeCluster, datastore,
   networks, resourcePool) as "generated-failure-domain"; this provides no
   additional fault tolerance]

Test 2 — vSphere: duplicate topology + duplicate name:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
  failed to create install config: invalid "install-config.yaml" file:
  [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
   cannot be used more than once for the failure domain region "generated-region",
   platform.vsphere.failureDomains[1]: Invalid value: "generated-failure-domain":
   failure domain "generated-failure-domain" has identical topology (same server,
   datacenter, computeCluster, datastore, networks, resourcePool) as
   "generated-failure-domain"; this provides no additional fault tolerance,
   platform.vsphere.failureDomains.name[1]: Duplicate value: "generated-failure-domain"]

Test 3 — Nutanix: duplicate topology (same PE + subnet):

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
  failed to create install config: invalid "install-config.yaml" file:
  platform.nutanix.failureDomains[1]: Invalid value: "fd-2": failure domain "fd-2"
  has identical topology (same prismElement and subnets) as "fd-1"; this provides
  no additional fault tolerance

Test Plan

  • Unit tests added for Nutanix duplicate name detection
  • Unit tests added for Nutanix duplicate topology detection
  • Unit test added for vSphere duplicate topology detection
  • All existing Nutanix validation tests pass
  • All existing vSphere validation tests pass
  • Manual testing with custom binary on vSphere (duplicate topology — different names)
  • Manual testing with custom binary on vSphere (duplicate topology + duplicate name)
  • Manual testing with custom binary on Nutanix (duplicate topology — same PE and subnet)

Made with Cursor

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced platform validation to detect and reject duplicate failure domain names across Nutanix and vSphere implementations.
    • Added topology-based validation to prevent multiple failure domains with identical configurations, ensuring proper fault tolerance.
  • Tests

    • Expanded validation test coverage with scenarios for duplicate failure domains and topology-identical configurations.

…gy (Nutanix, vSphere)

The installer does not detect when multiple failure domains point to
the same underlying infrastructure. A user can configure two failure
domains with different names but identical topology (same Prism Element
and subnets on Nutanix, or same server/datacenter/computeCluster/
datastore/networks/resourcePool on vSphere). The installer accepts this
without any warning, giving users a false sense of zone-level fault
tolerance when none exists.

Additionally, Nutanix failure domain validation did not check for
duplicate names, unlike vSphere which already had this check.

This commit adds:
- Nutanix: reject failure domains with duplicate names
- Nutanix: reject failure domains with identical topology
  (same prismElement UUID and subnet UUIDs)
- vSphere: reject failure domains with identical topology
  (same server, datacenter, computeCluster, datastore, networks,
  and resourcePool)

All three scenarios were confirmed on live 4.22 RC3 clusters before
this fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 19, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@chdeshpa-hue: This pull request references Jira Issue OCPBUGS-86073, which is invalid:

  • expected the bug to target the "5.0.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Summary

Fixes OCPBUGS-86073

The installer does not detect when multiple failure domains point to the same underlying infrastructure. This gives users a false sense of zone-level fault tolerance when none exists.

Three gaps were identified and fixed:

  • Nutanix: duplicate failure domain names accepted — Two failure domains can have the exact same name. vSphere already had this check; Nutanix did not.
  • Nutanix: duplicate topology accepted — Two failure domains with different names can point to the same Prism Element UUID and subnet UUIDs.
  • vSphere: duplicate topology accepted — Two failure domains with different names/zones can have identical topology (same server, datacenter, computeCluster, datastore, networks, resourcePool).

This is especially impactful on Nutanix where failure domains are optional and entirely manual (copy-paste YAML is the only configuration method).

Changes

  • pkg/types/nutanix/validation/platform.go: Added duplicate name check and duplicate topology check (comparing Prism Element UUID + subnet UUIDs) across failure domains.
  • pkg/types/vsphere/validation/platform.go: Added duplicate topology check (comparing server, datacenter, computeCluster, datastore, networks, resourcePool) across failure domains.
  • Both platform test files updated with new test cases.

Manual Test Results (4.22 RC3 custom binary)

Test 1 — vSphere: duplicate topology, different names:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
  cannot be used more than once for the failure domain region "generated-region",
  platform.vsphere.failureDomains[1]: Invalid value: "fd-1": failure domain "fd-1"
  has identical topology (same server, datacenter, computeCluster, datastore,
  networks, resourcePool) as "generated-failure-domain"; this provides no
  additional fault tolerance]

Test 2 — vSphere: duplicate topology + duplicate name:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
  cannot be used more than once for the failure domain region "generated-region",
  platform.vsphere.failureDomains[1]: Invalid value: "generated-failure-domain":
  failure domain "generated-failure-domain" has identical topology (same server,
  datacenter, computeCluster, datastore, networks, resourcePool) as
  "generated-failure-domain"; this provides no additional fault tolerance,
  platform.vsphere.failureDomains.name[1]: Duplicate value: "generated-failure-domain"]

Test 3 — Nutanix: duplicate topology (same PE + subnet):

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 platform.nutanix.failureDomains[1]: Invalid value: "fd-2": failure domain "fd-2"
 has identical topology (same prismElement and subnets) as "fd-1"; this provides
 no additional fault tolerance

Test Plan

  • Unit tests added for Nutanix duplicate name detection
  • Unit tests added for Nutanix duplicate topology detection
  • Unit test added for vSphere duplicate topology detection
  • All existing Nutanix validation tests pass
  • All existing vSphere validation tests pass
  • Manual testing with custom binary on vSphere (duplicate topology — different names)
  • Manual testing with custom binary on vSphere (duplicate topology + duplicate name)
  • Manual testing with custom binary on Nutanix (duplicate topology — same PE and subnet)

Made with Cursor

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
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Walkthrough

This PR extends platform validation to detect and reject failure domains with duplicate topology. Nutanix and vSphere implementations independently compute stable topology keys from infrastructure-defining fields and reject configurations where multiple failure domains share identical topology, since they provide no additional fault tolerance. Tests verify duplicate-name and duplicate-topology rejection.

Changes

Failure-domain topology deduplication

Layer / File(s) Summary
Nutanix failure-domain topology deduplication
pkg/types/nutanix/validation/platform.go, pkg/types/nutanix/validation/platform_test.go
Adds duplicate failure-domain name and topology detection to ValidatePlatform. A topology key is computed per domain from Prism Element UUID and sorted subnet UUIDs. Duplicate names and identical topologies trigger validation errors. Three new test cases validate duplicate-name rejection, duplicate-topology rejection, and acceptance of different topologies.
vSphere failure-domain topology deduplication
pkg/types/vsphere/validation/platform.go, pkg/types/vsphere/validation/platform_test.go
Adds topology-based failure-domain deduplication to validateFailureDomains. A topology key is computed per domain from server, datacenter, cluster, datastore, networks (sorted), and resource pool. Identical topologies trigger validation errors. The customized-folder test is updated to vary resource pool by index, and a new test case validates duplicate-topology rejection.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and specifically describes the main changes: validating duplicate failure domain names and topology for both Nutanix and vSphere platforms to fix OCPBUGS-86073.
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 All new test names are static and deterministic with no dynamic values, UUIDs, timestamps, or generated identifiers. Dynamic fmt.Sprintf use is only in test setup bodies, not in test names.
Test Structure And Quality ✅ Passed The custom check targets Ginkgo test code quality, but this PR uses standard Go testing package with table-driven tests using t.Run(), not Ginkgo. The check is not applicable to this codebase pattern.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests were added in this PR. The modified test files use standard Go testing.T framework, not Ginkgo. The check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR contains only standard Go unit tests using testing.T, not Ginkgo e2e tests. The custom check applies only to Ginkgo e2e tests, so it is not applicable here.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only install-time platform validation code. No deployment manifests, operators, or runtime scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed These are validation library files and unit tests with no process-level functions. The one fmt.Printf found is inside a test case (allowed). Check is inapplicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed These are standard Go unit tests, not Ginkgo e2e tests. No Ginkgo patterns (It, Describe, Context, When) found. Custom check not applicable.

✏️ 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
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 19, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
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

@openshift-ci openshift-ci Bot requested review from patrickdillon and rvanderp3 May 19, 2026 09:24
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

🤖 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/vsphere/validation/platform.go`:
- Around line 176-182: The duplicate-topology check uses raw strings so
equivalent vSphere inventory paths can slip through; modify
vsphereFailureDomainTopologyKey (and the other occurrence around lines 356-367)
to canonicalize computeCluster, datastore, resourcePool (and any other inventory
path fields used to build topoKey) before composing the topoKey: add or call a
helper like canonicalizeVSpherePath(path string) that normalizes
trailing/leading slashes, resolves redundant segments, and lowercases or
otherwise normalizes case where appropriate, then use those canonicalized values
when populating fdTopologies and when comparing prevName; update references to
fdTopologies[topoKey] and the key construction in both places
(vsphereFailureDomainTopologyKey and its duplicate) so comparisons use the
canonical form.
🪄 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: c8b9cce1-2c49-45ff-b4fb-b457a2b859b4

📥 Commits

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

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

Comment on lines +176 to +182
topoKey := vsphereFailureDomainTopologyKey(failureDomain)
if prevName, exists := fdTopologies[topoKey]; exists {
allErrs = append(allErrs, field.Invalid(fldPath.Index(index), failureDomain.Name,
fmt.Sprintf("failure domain %q has identical topology (same server, datacenter, computeCluster, datastore, networks, resourcePool) as %q; this provides no additional fault tolerance", failureDomain.Name, prevName)))
} else {
fdTopologies[topoKey] = failureDomain.Name
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Canonicalize topology paths before duplicate-key comparison.

Duplicate-topology detection uses raw computeCluster / datastore / resourcePool strings, so syntactically different-but-equivalent paths can bypass this check.

Proposed fix
 func vsphereFailureDomainTopologyKey(fd vsphere.FailureDomain) string {
 	networks := make([]string, len(fd.Topology.Networks))
 	copy(networks, fd.Topology.Networks)
 	sort.Strings(networks)
+
+	normalizePath := func(p string) string {
+		if p == "" {
+			return ""
+		}
+		return filepath.Clean(p)
+	}
+
 	return fmt.Sprintf("server=%s;dc=%s;cluster=%s;ds=%s;nets=%s;rp=%s",
 		fd.Server,
 		fd.Topology.Datacenter,
-		fd.Topology.ComputeCluster,
-		fd.Topology.Datastore,
+		normalizePath(fd.Topology.ComputeCluster),
+		normalizePath(fd.Topology.Datastore),
 		strings.Join(networks, ","),
-		fd.Topology.ResourcePool)
+		normalizePath(fd.Topology.ResourcePool))
 }

Also applies to: 356-367

🤖 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/vsphere/validation/platform.go` around lines 176 - 182, The
duplicate-topology check uses raw strings so equivalent vSphere inventory paths
can slip through; modify vsphereFailureDomainTopologyKey (and the other
occurrence around lines 356-367) to canonicalize computeCluster, datastore,
resourcePool (and any other inventory path fields used to build topoKey) before
composing the topoKey: add or call a helper like canonicalizeVSpherePath(path
string) that normalizes trailing/leading slashes, resolves redundant segments,
and lowercases or otherwise normalizes case where appropriate, then use those
canonicalized values when populating fdTopologies and when comparing prevName;
update references to fdTopologies[topoKey] and the key construction in both
places (vsphereFailureDomainTopologyKey and its duplicate) so comparisons use
the canonical form.

@jcpowermac
Copy link
Copy Markdown
Contributor

jcpowermac commented May 19, 2026

@chdeshpa-hue can we split this into two bugs and prs?

@chdeshpa-hue
Copy link
Copy Markdown
Author

@jcpowermac will do

@chdeshpa-hue
Copy link
Copy Markdown
Author

Closing in favor of platform-specific PRs per reviewer feedback:

Each PR is now independently reviewable and tracks its own Jira bug.

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@chdeshpa-hue: This pull request references Jira Issue OCPBUGS-86073. The bug has been updated to no longer refer to the pull request using the external bug tracker. All external bug links have been closed. The bug has been moved to the NEW state.

Details

In response to this:

Summary

Fixes OCPBUGS-86073

The installer does not detect when multiple failure domains point to the same underlying infrastructure. This gives users a false sense of zone-level fault tolerance when none exists.

Three gaps were identified and fixed:

  • Nutanix: duplicate failure domain names accepted — Two failure domains can have the exact same name. vSphere already had this check; Nutanix did not.
  • Nutanix: duplicate topology accepted — Two failure domains with different names can point to the same Prism Element UUID and subnet UUIDs.
  • vSphere: duplicate topology accepted — Two failure domains with different names/zones can have identical topology (same server, datacenter, computeCluster, datastore, networks, resourcePool).

This is especially impactful on Nutanix where failure domains are optional and entirely manual (copy-paste YAML is the only configuration method).

Changes

  • pkg/types/nutanix/validation/platform.go: Added duplicate name check and duplicate topology check (comparing Prism Element UUID + subnet UUIDs) across failure domains.
  • pkg/types/vsphere/validation/platform.go: Added duplicate topology check (comparing server, datacenter, computeCluster, datastore, networks, resourcePool) across failure domains.
  • Both platform test files updated with new test cases.

Manual Test Results (4.22 RC3 custom binary)

Test 1 — vSphere: duplicate topology, different names:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
  cannot be used more than once for the failure domain region "generated-region",
  platform.vsphere.failureDomains[1]: Invalid value: "fd-1": failure domain "fd-1"
  has identical topology (same server, datacenter, computeCluster, datastore,
  networks, resourcePool) as "generated-failure-domain"; this provides no
  additional fault tolerance]

Test 2 — vSphere: duplicate topology + duplicate name:

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 [platform.vsphere.failureDomains.zone: Invalid value: "generated-zone":
  cannot be used more than once for the failure domain region "generated-region",
  platform.vsphere.failureDomains[1]: Invalid value: "generated-failure-domain":
  failure domain "generated-failure-domain" has identical topology (same server,
  datacenter, computeCluster, datastore, networks, resourcePool) as
  "generated-failure-domain"; this provides no additional fault tolerance,
  platform.vsphere.failureDomains.name[1]: Duplicate value: "generated-failure-domain"]

Test 3 — Nutanix: duplicate topology (same PE + subnet):

$ ./openshift-install-v17-test create manifests
ERROR failed to fetch Master Machines: failed to load asset "Install Config":
 failed to create install config: invalid "install-config.yaml" file:
 platform.nutanix.failureDomains[1]: Invalid value: "fd-2": failure domain "fd-2"
 has identical topology (same prismElement and subnets) as "fd-1"; this provides
 no additional fault tolerance

Test Plan

  • Unit tests added for Nutanix duplicate name detection
  • Unit tests added for Nutanix duplicate topology detection
  • Unit test added for vSphere duplicate topology detection
  • All existing Nutanix validation tests pass
  • All existing vSphere validation tests pass
  • Manual testing with custom binary on vSphere (duplicate topology — different names)
  • Manual testing with custom binary on vSphere (duplicate topology + duplicate name)
  • Manual testing with custom binary on Nutanix (duplicate topology — same PE and subnet)

Made with Cursor

Summary by CodeRabbit

Release Notes

  • New Features

  • Enhanced platform validation to detect and reject duplicate failure domain names across Nutanix and vSphere implementations.

  • Added topology-based validation to prevent multiple failure domains with identical configurations, ensuring proper fault tolerance.

  • Tests

  • Expanded validation test coverage with scenarios for duplicate failure domains and topology-identical configurations.

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.

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

Labels

jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants