Skip to content

CNTRLPLANE-4025: Add HyperShift Azure Managed HSM periodic - #82995

Open
hlipsig wants to merge 6 commits into
openshift:mainfrom
hlipsig:hlipsig/hypershift-managed-hsm-periodic
Open

CNTRLPLANE-4025: Add HyperShift Azure Managed HSM periodic#82995
hlipsig wants to merge 6 commits into
openshift:mainfrom
hlipsig:hlipsig/hypershift-managed-hsm-periodic

Conversation

@hlipsig

@hlipsig hlipsig commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a daily release-5.0 periodic for HyperShift Azure Managed HSM secret encryption
  • provision and activate an ephemeral Managed HSM with an RSA-HSM key
  • grant the self-managed KMS workload identity access and pass the key ID through the existing v2 Azure workflow
  • delete and purge the HSM after guest teardown so billing stops immediately

Motivation

This provides end-to-end coverage for openshift/hypershift#9199. The v2 suite verifies the Managed HSM API selection, KMS v2 ciphertext in etcd, API decrypt/read-back, and persistence across a control-plane-operator restart.

Dependencies and discussion points

Validation

  • generated step-registry metadata and the release-5.0 Prow periodic
  • make ci-operator-checkconfig
  • shell syntax checks for the provisioning and deprovisioning steps

Summary by CodeRabbit

This PR adds Azure infrastructure support for HyperShift encryption testing and leaked-cluster cleanup.

  • Adds a daily release-5.0 periodic for Azure Managed HSM secret-encryption testing.
  • Provisions an ephemeral Managed HSM with an RSA-HSM key and grants KMS workload identity access.
  • Passes the key ID through the existing Azure self-managed v2 workflow.
  • Deletes and purges the HSM after guest-cluster teardown.
  • Adds an Azure IPI cleanup periodic with a six-hour resource TTL.
  • Adds Azure CLI support and concurrent cleanup for leaked Azure IPI cluster resources.
  • Adds CI step definitions, metadata, ownership, and configuration for the new workflows.

Provision an ephemeral Azure Managed HSM for the release-5.0 HyperShift v2 encryption test and clean it up after the daily periodic run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 5, 2026
@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The Azure self-managed HyperShift workflow now provisions an ephemeral Managed HSM, passes its encryption key to guest creation and tests, removes the resources, and runs through a daily periodic job. Azure deprovisioning also discovers and cleans up aged CI resource groups.

Changes

Azure Managed HSM self-managed testing

Layer / File(s) Summary
Managed HSM lifecycle
ci-operator/step-registry/hypershift/azure/managed-hsm/*
Adds provisioning and deprovisioning steps. The scripts create the HSM and RSA-HSM key, assign permissions, persist the key ID, purge deleted HSMs, and remove resource groups.
Workflow wiring and key propagation
ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/..., ci-operator/step-registry/hypershift/azure/create-selfmanaged-guests/..., ci-operator/step-registry/hypershift/azure/run-e2e-v2-selfmanaged/...
Enables Managed HSM settings, orders HSM lifecycle steps around guest operations, and exports AZURE_ENCRYPTION_KEY_ID to guest creation and test execution.
Scheduled coverage
ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml
Adds a daily Azure self-managed periodic job with Managed HSM enabled in East US.

Azure cluster deprovisioning

Layer / File(s) Summary
Azure cleanup orchestration
clusters/app.ci/ipi-deprovision/ipi-deprovision-bc.yaml, core-services/ipi-deprovision/azure.sh
Installs Azure CLI and adds concurrent Azure cluster cleanup. The script finds aged CI resource groups, runs cluster destruction, force-deletes failed resources, and reports remaining failures.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PeriodicJob
  participant SelfManagedWorkflow
  participant ManagedHSMProvision
  participant GuestCreation
  participant E2ETests
  participant ManagedHSMDeprovision
  PeriodicJob->>SelfManagedWorkflow: Start daily Managed HSM test
  SelfManagedWorkflow->>ManagedHSMProvision: Provision HSM and encryption key
  ManagedHSMProvision-->>SelfManagedWorkflow: Write key ID to SHARED_DIR
  SelfManagedWorkflow->>GuestCreation: Create guests with AZURE_ENCRYPTION_KEY_ID
  SelfManagedWorkflow->>E2ETests: Run tests with AZURE_ENCRYPTION_KEY_ID
  SelfManagedWorkflow->>ManagedHSMDeprovision: Delete and purge HSM
Loading

Suggested reviewers: csrwng, bryan-cox

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
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 complete change set adds or edits shell, YAML, metadata, and OWNERS files; no Ginkgo It, Describe, Context, When, or Specify test titles were added or changed.
Test Structure And Quality ✅ Passed The PR changes only YAML, shell, JSON, and configuration files; it adds no Ginkgo test source, It blocks, or cluster-test assertions to review.
Microshift Test Compatibility ✅ Passed The complete feature diff adds no Go files or Ginkgo declarations; it changes only CI YAML, shell scripts, metadata, and OWNERS files.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR changes 17 CI/configuration and shell files, with no Go or test files and no added Ginkgo declarations; it wires an existing e2e workflow only.
Topology-Aware Scheduling Compatibility ✅ Passed The changes add CI workflows, Azure scripts, a BuildConfig, and a Prow periodic; they add no topology-sensitive workload scheduling constraints. The only nodeSelector selects amd64.
Ote Binary Stdout Contract ✅ Passed The full PR range changes only YAML, shell, JSON, and OWNERS files; it contains no Go or OTE entry-point code or stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds CI workflows and shell steps but no new Ginkgo test declarations or test source; it only invokes the existing /hypershift/bin/run-tests suite, so this check is not applicable.
No-Weak-Crypto ✅ Passed Added-line scans found no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB usage; crypto uses standard SHA-256 and RSA-2048, with no secret comparisons or custom crypto.
Container-Privileges ✅ Passed The changed configuration and scripts contain no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings.
No-Sensitive-Data-In-Logs ✅ Passed Changed scripts do not print passwords or tokens; Azure login runs with tracing off, and both key-ID loads run under set +x before tracing resumes.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding a HyperShift Azure Managed HSM periodic.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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
`@ci-operator/step-registry/hypershift/azure/managed-hsm/deprovision/hypershift-azure-managed-hsm-deprovision-ref.yaml`:
- Line 3: Remove the best_effort setting from the Managed HSM deprovision step
so failures from login, vault operations, or resource-group deletion remain
visible in the job result. Keep the existing cleanup operations unchanged.
🪄 Autofix

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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 2a773b46-d603-4364-9b21-07106a1449b9

📥 Commits

Reviewing files that changed from the base of the PR and between ed6310c and b2587cb.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (13)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml
  • ci-operator/step-registry/hypershift/azure/create-selfmanaged-guests/hypershift-azure-create-selfmanaged-guests-commands.sh
  • ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/hypershift-azure-e2e-v2-self-managed-workflow.yaml
  • ci-operator/step-registry/hypershift/azure/managed-hsm/OWNERS
  • ci-operator/step-registry/hypershift/azure/managed-hsm/deprovision/OWNERS
  • ci-operator/step-registry/hypershift/azure/managed-hsm/deprovision/hypershift-azure-managed-hsm-deprovision-commands.sh
  • ci-operator/step-registry/hypershift/azure/managed-hsm/deprovision/hypershift-azure-managed-hsm-deprovision-ref.metadata.json
  • ci-operator/step-registry/hypershift/azure/managed-hsm/deprovision/hypershift-azure-managed-hsm-deprovision-ref.yaml
  • ci-operator/step-registry/hypershift/azure/managed-hsm/provision/OWNERS
  • ci-operator/step-registry/hypershift/azure/managed-hsm/provision/hypershift-azure-managed-hsm-provision-commands.sh
  • ci-operator/step-registry/hypershift/azure/managed-hsm/provision/hypershift-azure-managed-hsm-provision-ref.metadata.json
  • ci-operator/step-registry/hypershift/azure/managed-hsm/provision/hypershift-azure-managed-hsm-provision-ref.yaml
  • ci-operator/step-registry/hypershift/azure/run-e2e-v2-selfmanaged/hypershift-azure-run-e2e-v2-selfmanaged-chain.yaml

hlipsig and others added 3 commits August 5, 2026 12:33
Wait for Azure to expose the soft-deleted HSM, purge it to stop billing, and retain partial-provision cleanup behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disable shell tracing while reading and exporting the Managed HSM key URI in guest creation and v2 test execution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Authenticate HSM provisioning and cleanup with the hypershift-azure cluster profile while retaining the existing KMS workload identity input.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@hlipsig
hlipsig marked this pull request as ready for review August 5, 2026 22:11
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 5, 2026
@openshift-ci
openshift-ci Bot requested review from bryan-cox and csrwng August 5, 2026 22:12
@hlipsig

hlipsig commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 6, 2026
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: release-5.0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note to my reviewer: Not sure if this is correct. I think the feature is going to land in 5.1 with backports. I'm a little unclear what this should be so I suspect you'll tell me how to fix it.

Add periodic-ipi-deprovision-azure to clean up leaked Azure IPI
cluster resources, matching the existing AWS and GCP GC patterns.
Uses a 6-hour TTL to avoid disrupting active tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-merge-bot openshift-merge-bot Bot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 9, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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 `@clusters/app.ci/ipi-deprovision/ipi-deprovision-bc.yaml`:
- Around line 50-52: Update the package installation command in the
ipi-deprovision image build to remove the --nogpg option, preserving GPG
signature verification for azure-cli and the other installed packages.

In `@core-services/ipi-deprovision/azure.sh`:
- Around line 64-80: Update the resource-group filtering around rg_name to
require the documented -rg suffix before proceeding. Remove the fallback that
assigns the full name to infraID, and skip non-matching names before metadata or
deletion logic; retain infraID extraction from the matched suffix format.
🪄 Autofix

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 YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f3a3d20-3c7d-4d10-87ba-a9be64d913b0

📥 Commits

Reviewing files that changed from the base of the PR and between c8a9f8f and d102a21.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/infra-build-farm-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (2)
  • clusters/app.ci/ipi-deprovision/ipi-deprovision-bc.yaml
  • core-services/ipi-deprovision/azure.sh

Comment thread clusters/app.ci/ipi-deprovision/ipi-deprovision-bc.yaml Outdated
Comment thread core-services/ipi-deprovision/azure.sh Outdated
@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@hlipsig: 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-hypershift-main-e2e-v2-azure-self-managed openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.1-e2e-v2-azure-self-managed openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.0-e2e-v2-azure-self-managed openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.23-e2e-v2-azure-self-managed openshift/hypershift presubmit Registry content changed
periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-v2-azure-self-managed-managed-hsm N/A periodic Periodic changed
periodic-ci-openshift-hypershift-release-5.1-periodics-e2e-v2-azure-self-managed N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-v2-azure-self-managed N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.23-periodics-e2e-v2-azure-self-managed N/A periodic Registry content 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.

@hlipsig

hlipsig commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@bryan-cox

Copy link
Copy Markdown
Member

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-azure-self-managed

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-ci

openshift-ci Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

@hlipsig: 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/hypershift/release-5.1/e2e-v2-azure-self-managed f85a9b3 link unknown /pj-rehearse pull-ci-openshift-hypershift-release-5.1-e2e-v2-azure-self-managed
ci/rehearse/periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-v2-azure-self-managed-managed-hsm f85a9b3 link unknown /pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-v2-azure-self-managed-managed-hsm

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.

@bryan-cox

bryan-cox commented Aug 11, 2026

Copy link
Copy Markdown
Member

/retitle CNTRLPLANE-4025: Add HyperShift Azure Managed HSM periodic

@openshift-ci openshift-ci Bot changed the title Add HyperShift Azure Managed HSM periodic CNTRLPLANE-4025: Add HyperShift Azure Managed HSM periodic Aug 11, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

@hlipsig: This pull request references CNTRLPLANE-4025 which is a valid jira issue.

Details

In response to this:

Summary

  • add a daily release-5.0 periodic for HyperShift Azure Managed HSM secret encryption
  • provision and activate an ephemeral Managed HSM with an RSA-HSM key
  • grant the self-managed KMS workload identity access and pass the key ID through the existing v2 Azure workflow
  • delete and purge the HSM after guest teardown so billing stops immediately

Motivation

This provides end-to-end coverage for openshift/hypershift#9199. The v2 suite verifies the Managed HSM API selection, KMS v2 ciphertext in etcd, API decrypt/read-back, and persistence across a control-plane-operator restart.

Dependencies and discussion points

Validation

  • generated step-registry metadata and the release-5.0 Prow periodic
  • make ci-operator-checkconfig
  • shell syntax checks for the provisioning and deprovisioning steps

Summary by CodeRabbit

This PR adds Azure infrastructure support for HyperShift encryption testing and leaked-cluster cleanup.

  • Adds a daily release-5.0 periodic for Azure Managed HSM secret-encryption testing.
  • Provisions an ephemeral Managed HSM with an RSA-HSM key and grants KMS workload identity access.
  • Passes the key ID through the existing Azure self-managed v2 workflow.
  • Deletes and purges the HSM after guest-cluster teardown.
  • Adds an Azure IPI cleanup periodic with a six-hour resource TTL.
  • Adds Azure CLI support and concurrent cleanup for leaked Azure IPI cluster resources.
  • Adds CI step definitions, metadata, ownership, and configuration for the new workflows.

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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 11, 2026
approvers:
- csrwng
- enxebre
- sjenning

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Remove sjenning from here please. This goes for the other owner files too.

@bryan-cox bryan-cox left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The HSM lifecycle scripts are well structured — writing cleanup inputs before provisioning, retrying with backoff on eventual-consistency operations, and guarding with set +x around sensitive values are all solid patterns.

One issue: best_effort: true on the deprovision ref is inert because the workflow doesn't set allow_best_effort_post_steps: true. If HSM cleanup fails, the job fails and the management cluster teardown gets skipped too. This is also a pre-existing gap for destroy-selfmanaged-guests in the same workflow — adding the flag fixes both.

post:
- chain: hypershift-azure-dump-selfmanaged-guests
- chain: hypershift-azure-destroy-selfmanaged-guests
- ref: hypershift-azure-managed-hsm-deprovision

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

best_effort: true on the deprovision ref is silently ignored here. ci-operator requires allow_best_effort_post_steps: true at the workflow level for best_effort to take effect on any post step (ci-docs reference).

Without it, if deprovision fails the entire job fails and downstream post steps like hypershift-destroy-nested-management-cluster are skipped — leaving the management cluster leaked too.

This is also a pre-existing issue for the destroy-selfmanaged-guests chain in this same workflow.

Suggested fix — add to the workflow:

workflow:
  steps:
    allow_best_effort_post_steps: true

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants