Skip to content

OCPBUGS-77760: verify FIPS mode after installation completes - #10348

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
zaneb:verify-fips
May 4, 2026
Merged

OCPBUGS-77760: verify FIPS mode after installation completes#10348
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
zaneb:verify-fips

Conversation

@zaneb

@zaneb zaneb commented Mar 2, 2026

Copy link
Copy Markdown
Member

When install-config specifies fips: true, verify
that FIPS mode was actually enabled on the cluster before declaring an ABI
installation successful.

The verification queries both worker and master MachineConfigPools to
retrieve their rendered MachineConfigs (the combined configs that
machine-config-operator actually applies to nodes), and verifies that
FIPS is enabled in each.

This verification only runs for the agent wait-for install-complete
command. Regular installations are unchanged.

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

openshift-ci-robot commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

@zaneb: This pull request references AGENT-1455 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 story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

When install-config specifies fips: true, verify
that FIPS mode was actually enabled on the cluster before declaring an ABI
installation successful.

The verification queries both worker and master MachineConfigPools to
retrieve their rendered MachineConfigs (the combined configs that
machine-config-operator actually applies to nodes), and verifies that
FIPS is enabled in each.

This verification only runs for the agent wait-for install-complete
command. Regular installations are unchanged.

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 requested review from rwsu and tthvo March 2, 2026 21:54
@tthvo

tthvo commented Mar 2, 2026

Copy link
Copy Markdown
Member

/test e2e-aws-ovn-fips

@andfasano

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andfasano

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 Mar 4, 2026
@zaneb

zaneb commented Mar 4, 2026

Copy link
Copy Markdown
Member Author

/retitle OCPBUGS-77760: verify FIPS mode after installation completes

@openshift-ci openshift-ci Bot changed the title AGENT-1455: verify FIPS mode after installation completes OCPBUGS-77760: verify FIPS mode after installation completes Mar 4, 2026
@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Mar 4, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@zaneb: This pull request references Jira Issue OCPBUGS-77760, which is invalid:

  • expected the bug to target the "4.22.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:

When install-config specifies fips: true, verify
that FIPS mode was actually enabled on the cluster before declaring an ABI
installation successful.

The verification queries both worker and master MachineConfigPools to
retrieve their rendered MachineConfigs (the combined configs that
machine-config-operator actually applies to nodes), and verifies that
FIPS is enabled in each.

This verification only runs for the agent wait-for install-complete
command. Regular installations are unchanged.

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.

@zaneb

zaneb commented Mar 4, 2026

Copy link
Copy Markdown
Member Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Mar 4, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@zaneb: This pull request references Jira Issue OCPBUGS-77760, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

/jira refresh

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.

Comment thread cmd/openshift-install/command/waitfor.go
@zaneb
zaneb force-pushed the verify-fips branch 3 times, most recently from 1d1b6aa to 154e406 Compare March 6, 2026 11:49
@zaneb

zaneb commented Mar 8, 2026

Copy link
Copy Markdown
Member Author

OK, now we see the check running as expected:

2026-03-06 07:37:08 level=debug msg=Verified FIPS mode is enabled on worker pool (rendered config: rendered-worker-7f89d08a6d2dc678c63cfa1bbc59ab8a)
2026-03-06 07:37:08 level=debug msg=Verified FIPS mode is enabled on master pool (rendered config: rendered-master-235bed326fb85f5d0f47e518627632fd)
2026-03-06 07:37:08 level=info msg=Verified FIPS mode is enabled on cluster

@coderabbitai

coderabbitai Bot commented Apr 7, 2026

Copy link
Copy Markdown

Walkthrough

Refactors APIs to pass asset.Store instances (not directory strings), adds FIPS verification during install completion, and replaces platform-branching timeout logic with a configurable WaitOptions struct derived from the install-config.

Changes

Cohort / File(s) Summary
Agent & asset-store API changes
pkg/agent/cluster.go, pkg/agent/rest.go, pkg/nodejoiner/monitoraddnodes.go
Function signatures updated to accept asset.Store instead of assetDir strings; removed internal asset-store construction in helpers; corrected FindRendezvousIPAndSSHKeyFromAssetStore spelling and adapted auth/rendezvous lookups to use the provided asset.Store.
Agent command handlers (agent CLI)
cmd/openshift-install/agent/waitfor.go
Bootstrap and install-complete handlers now construct an assetStore from command root dir and pass it into agentpkg.NewCluster; install-complete reads optional install-config to determine FIPS and propagates that into waiting logic.
Core wait-for-install library
cmd/openshift-install/command/waitfor.go
WaitForInstallComplete signature changed to accept WaitOptions (ExtendTimeoutForBaremetal, UserProvisionedDNSEnabled, VerifyFIPS); removed platform-specific timeout branching; added FIPS verification that inspects MachineConfigPool rendered configs and fails if any rendered MC has spec.fips == false.
CLI wait command wiring
cmd/openshift-install/waitfor.go, cmd/openshift-install/create.go
Commands now load install-config from the asset store, compute command.WaitOptions via a helper (getWaitOptionsFromInstallConfig), and pass WaitOptions into command.WaitForInstallComplete instead of passing the asset store.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

✨ 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.11.4)

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


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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 the current code and only fix it if needed.

Inline comments:
In `@cmd/openshift-install/waitfor.go`:
- Around line 31-34: The code uses an undefined variable installConfig and the
wrong field path; update the aws-specific branch to use the function parameter
ic (type *types.InstallConfig) and access the AWS platform via ic.Platform.AWS,
then check ic.Platform.AWS != nil and its UserProvisionedDNS value; set
options.UserProvisionedDNSEnabled = true when ic.Platform.AWS != nil &&
ic.Platform.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled so the
checks reference ic, Platform, and AWS correctly.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dde4a6f1-a449-40aa-bf40-09964e5e58c0

📥 Commits

Reviewing files that changed from the base of the PR and between d516a1e and 19278fd.

📒 Files selected for processing (7)
  • cmd/openshift-install/agent/waitfor.go
  • cmd/openshift-install/command/waitfor.go
  • cmd/openshift-install/create.go
  • cmd/openshift-install/waitfor.go
  • pkg/agent/cluster.go
  • pkg/agent/rest.go
  • pkg/nodejoiner/monitoraddnodes.go

Comment on lines +31 to +34
case aws.Name:
if installConfig.(*installconfig.InstallConfig).Config.AWS != nil &&
installConfig.(*installconfig.InstallConfig).Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
options.UserProvisionedDNSEnabled = true

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 | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Helper body:"
sed -n '22,39p' cmd/openshift-install/waitfor.go

echo
echo "Exact installConfig token references in this file:"
rg -nP '(?<![[:alnum:]_])installConfig(?![[:alnum:]_])' cmd/openshift-install/waitfor.go || true

echo
echo "Declarations/assignments for installConfig in this file:"
rg -nP '\b(var\s+installConfig\b|installConfig\s*:=|installConfig\s*=)' cmd/openshift-install/waitfor.go || true

Repository: openshift/installer

Length of output: 1031


🏁 Script executed:

find . -name "*.go" -type f -exec grep -l "type InstallConfig struct" {} \; | head -5

Repository: openshift/installer

Length of output: 149


🏁 Script executed:

# Check the types.InstallConfig definition
rg -A 20 "type InstallConfig struct" --type go | head -50

Repository: openshift/installer

Length of output: 3445


🏁 Script executed:

# Verify that ic.AWS is accessible
rg -B 5 -A 5 "\.AWS\s*\*" --type go | grep -A 5 -B 5 "InstallConfig" | head -30

Repository: openshift/installer

Length of output: 45


🏁 Script executed:

cat -n pkg/types/installconfig.go | head -100

Repository: openshift/installer

Length of output: 4327


🏁 Script executed:

# Search for AWS field in types.InstallConfig
rg -A 100 "^type InstallConfig struct" pkg/types/installconfig.go | grep -E "(AWS|^})" | head -5

Repository: openshift/installer

Length of output: 45


🏁 Script executed:

# Read more of the types.InstallConfig struct definition
sed -n '93,250p' pkg/types/installconfig.go

Repository: openshift/installer

Length of output: 6801


🏁 Script executed:

# Check the Platform type definition to understand how to access AWS config
rg -A 30 "^type Platform struct" pkg/types/

Repository: openshift/installer

Length of output: 28102


🏁 Script executed:

# Also check if there's an embedded AWS type or Config field
rg "type Platform struct" pkg/types/ -A 50 | head -80

Repository: openshift/installer

Length of output: 6189


🏁 Script executed:

# Check aws.Platform struct to verify UserProvisionedDNS field exists
rg -A 50 "type Platform struct" pkg/types/aws/platform.go | grep -E "(UserProvisionedDNS|type Platform)" | head -20

Repository: openshift/installer

Length of output: 85


🏁 Script executed:

# Search for UserProvisionedDNS field in aws.Platform
rg "UserProvisionedDNS" pkg/types/aws/platform.go -B 3 -A 1

Repository: openshift/installer

Length of output: 474


🏁 Script executed:

# Also check dns package for UserProvisionedDNSEnabled constant
rg "UserProvisionedDNSEnabled" --type go

Repository: openshift/installer

Length of output: 5290


Fix the undefined installConfig reference and correct the field access path.

Lines 32-33 use an undefined identifier installConfig causing a compilation error, plus the suggested field access path is incorrect. The function parameter ic is *types.InstallConfig, which requires accessing the nested Platform field. The correct expression is ic.Platform.AWS, not ic.AWS (the Platform field is not embedded).

Suggested fix
 func getWaitOptionsFromInstallConfig(ic *types.InstallConfig) command.WaitOptions {
 	options := command.WaitOptions{
 		VerifyFIPS: false, // IPI/UPI installer doesn't verify FIPS
 	}
 	if ic != nil {
 		switch ic.Platform.Name() {
 		case baremetal.Name:
 			options.ExtendTimeoutForBaremetal = true
 		case aws.Name:
-			if installConfig.(*installconfig.InstallConfig).Config.AWS != nil &&
-				installConfig.(*installconfig.InstallConfig).Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
+			if ic.Platform.AWS != nil && ic.Platform.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
 				options.UserProvisionedDNSEnabled = true
 			}
 		}
 	}
 	return options
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
case aws.Name:
if installConfig.(*installconfig.InstallConfig).Config.AWS != nil &&
installConfig.(*installconfig.InstallConfig).Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
options.UserProvisionedDNSEnabled = true
case aws.Name:
if ic.Platform.AWS != nil && ic.Platform.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
options.UserProvisionedDNSEnabled = true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/openshift-install/waitfor.go` around lines 31 - 34, The code uses an
undefined variable installConfig and the wrong field path; update the
aws-specific branch to use the function parameter ic (type *types.InstallConfig)
and access the AWS platform via ic.Platform.AWS, then check ic.Platform.AWS !=
nil and its UserProvisionedDNS value; set options.UserProvisionedDNSEnabled =
true when ic.Platform.AWS != nil && ic.Platform.AWS.UserProvisionedDNS ==
dns.UserProvisionedDNSEnabled so the checks reference ic, Platform, and AWS
correctly.

zaneb added 3 commits April 7, 2026 17:55
Move install-config loading from inside WaitForInstallComplete to each
call site, and introduce a WaitOptions struct to pass configuration
instead of the entire asset store.

Note that ABI uses an OptionalInstallConfig rather than an InstallConfig
asset, so it has never used an extended timeout for baremetal.

Assisted-by: Claude Code
When install-config specifies fips: true, the agent-based installer now
verifies that FIPS mode was actually enabled on the cluster before
declaring installation successful.

The verification queries both worker and master MachineConfigPools to
retrieve their rendered MachineConfigs (the combined configs that
machine-config-operator actually applies to nodes), and verifies that
FIPS is enabled in each.

This verification only runs for the agent wait-for install-complete
command. Other installations are unchanged.

Assisted-by: Claude Code
NewCluster() and FindRendezvousIPAndSSHKeyFromAssetStore() now accept
an asset.Store parameter directly instead of a directory path string.
This allows callers to reuse an existing Store instance and makes the
API more explicit about its dependencies.

Also fixed typo in function name: FindRendezvouIPAndSSHKeyFromAssetStore
-> FindRendezvousIPAndSSHKeyFromAssetStore.

Assisted-by: Claude Code

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
cmd/openshift-install/waitfor.go (1)

31-35: ⚠️ Potential issue | 🔴 Critical

Incorrect field access path causes compilation error.

The code references ic.AWS but types.InstallConfig has the AWS platform config nested under Platform.AWS. This will not compile.

🐛 Proposed fix
 		case aws.Name:
-			if ic.AWS != nil &&
-				ic.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
+			if ic.Platform.AWS != nil &&
+				ic.Platform.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
 				options.UserProvisionedDNSEnabled = true
 			}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/openshift-install/waitfor.go` around lines 31 - 35, The case handling for
aws.Name is using the wrong field path (ic.AWS) and won't compile; update the
check to read the AWS platform config from ic.Platform.AWS with proper nil
guards (e.g., ensure ic.Platform != nil and ic.Platform.AWS != nil) and then set
options.UserProvisionedDNSEnabled = true when ic.Platform.AWS.UserProvisionedDNS
== dns.UserProvisionedDNSEnabled so the code compiles and uses the correct
InstallConfig nesting.
🧹 Nitpick comments (1)
cmd/openshift-install/agent/waitfor.go (1)

134-136: Consider adding timeout extension options for agent workflows.

The WaitOptions struct supports ExtendTimeoutForBaremetal and UserProvisionedDNSEnabled for extending timeouts, but they're not set here. If agent-based baremetal/vsphere installations need extended timeouts like IPI/UPI, consider populating these from the install-config.

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

In `@cmd/openshift-install/agent/waitfor.go` around lines 134 - 136, The
WaitOptions assignment currently only sets VerifyFIPS and omits
timeout-extension flags; update the options variable (the WaitOptions struct
created alongside fipsEnabled) to also set ExtendTimeoutForBaremetal and
UserProvisionedDNSEnabled by reading the corresponding booleans from the
install-config (e.g., the agent/baremetal and dns provisioning fields you
already parse elsewhere in this flow), so: set options.ExtendTimeoutForBaremetal
= <value from install-config baremetal/agent flag> and
options.UserProvisionedDNSEnabled = <value from install-config DNS type check>
before passing options into the wait call.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@cmd/openshift-install/waitfor.go`:
- Around line 31-35: The case handling for aws.Name is using the wrong field
path (ic.AWS) and won't compile; update the check to read the AWS platform
config from ic.Platform.AWS with proper nil guards (e.g., ensure ic.Platform !=
nil and ic.Platform.AWS != nil) and then set options.UserProvisionedDNSEnabled =
true when ic.Platform.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled so
the code compiles and uses the correct InstallConfig nesting.

---

Nitpick comments:
In `@cmd/openshift-install/agent/waitfor.go`:
- Around line 134-136: The WaitOptions assignment currently only sets VerifyFIPS
and omits timeout-extension flags; update the options variable (the WaitOptions
struct created alongside fipsEnabled) to also set ExtendTimeoutForBaremetal and
UserProvisionedDNSEnabled by reading the corresponding booleans from the
install-config (e.g., the agent/baremetal and dns provisioning fields you
already parse elsewhere in this flow), so: set options.ExtendTimeoutForBaremetal
= <value from install-config baremetal/agent flag> and
options.UserProvisionedDNSEnabled = <value from install-config DNS type check>
before passing options into the wait call.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: aa44974c-4a15-47da-8b30-596258eac234

📥 Commits

Reviewing files that changed from the base of the PR and between 19278fd and 013f25c.

📒 Files selected for processing (7)
  • cmd/openshift-install/agent/waitfor.go
  • cmd/openshift-install/command/waitfor.go
  • cmd/openshift-install/create.go
  • cmd/openshift-install/waitfor.go
  • pkg/agent/cluster.go
  • pkg/agent/rest.go
  • pkg/nodejoiner/monitoraddnodes.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/nodejoiner/monitoraddnodes.go
  • pkg/agent/rest.go

@openshift-ci

openshift-ci Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

@zaneb: 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-aws-ovn-rhcos10-devpreview 154e406 link false /test e2e-aws-ovn-rhcos10-devpreview

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.

@zaneb

zaneb commented Apr 9, 2026

Copy link
Copy Markdown
Member Author

/retest

@zaneb

zaneb commented May 1, 2026

Copy link
Copy Markdown
Member Author

Logs show that we are actually checking FIPS status.
/verified by @zaneb

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label May 1, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@zaneb: This PR has been marked as verified by @zaneb.

Details

In response to this:

Logs show that we are actually checking FIPS status.
/verified by @zaneb

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.

@andfasano

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 4, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit f043a6d into openshift:main May 4, 2026
28 checks passed
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@zaneb: Jira Issue Verification Checks: Jira Issue OCPBUGS-77760
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-77760 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

When install-config specifies fips: true, verify
that FIPS mode was actually enabled on the cluster before declaring an ABI
installation successful.

The verification queries both worker and master MachineConfigPools to
retrieve their rendered MachineConfigs (the combined configs that
machine-config-operator actually applies to nodes), and verifies that
FIPS is enabled in each.

This verification only runs for the agent wait-for install-complete
command. Regular installations are unchanged.

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. 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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants