Skip to content

OCPBUGS-86017: Extend image-registry single replica exception to s390x architecture#31190

Open
ropatil010 wants to merge 2 commits into
openshift:mainfrom
ropatil010:fix-ir-issue
Open

OCPBUGS-86017: Extend image-registry single replica exception to s390x architecture#31190
ropatil010 wants to merge 2 commits into
openshift:mainfrom
ropatil010:fix-ir-issue

Conversation

@ropatil010
Copy link
Copy Markdown
Contributor

@ropatil010 ropatil010 commented May 18, 2026

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

Summary by CodeRabbit

  • Bug Fixes
    • Improved upgrade operator handling for the image-registry so unavailable status outside upgrade windows correctly considers alternative architectures (ppc64le, s390x).
    • When architecture is detected, the operator returns architecture-specific guidance for single-replica registry cases.
    • When detection fails, emits debug logging to surface issues rather than silently falling back.

This commit extends the existing ppc64le single-replica image-registry
exception to also cover s390x architecture. During upgrades from 4.22 to 5.0,
clusters running on s390x with a single replica image-registry deployment
experience temporary unavailability (NoReplicasAvailable) when the registry
pod is restarted. This is a known limitation on alternative architectures
due to the lack of redundancy with a single replica.

Changes:
- Replaced isppc64le() function with getAltArchitecture() to support
  multiple alternative architectures (ppc64le and s390x)
- Added s390x exception with bug ID OCPBUGS-86017
- Updated exception handling to use a switch statement for clarity
- Improved logging to include the detected architecture
- Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

Co-Authored-By: Rohit Patil <ropatil@redhat.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 18, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@ropatil010: This pull request references Jira Issue OCPBUGS-86017, 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 (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @ropatil010

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

Details

In response to this:

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

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

openshift-ci Bot commented May 18, 2026

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: ropatil010.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@ropatil010: This pull request references Jira Issue OCPBUGS-86017, 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 (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @ropatil010

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

In response to this:

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

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.

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.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 77dc1401-8daf-42ed-b284-fd1ed81bda45

📥 Commits

Reviewing files that changed from the base of the PR and between 08570e8 and b8c4def.

📒 Files selected for processing (1)
  • pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go

Walkthrough

This PR adds a getArchitecture helper that lists cluster Nodes to detect ppc64le or s390x, and updates the image-registry Available=False exception handling to use detected architectures plus a single-replica check to return architecture-specific issue links or emit debug logging when detection fails.

Changes

Image-registry upgrade exception handling

Layer / File(s) Summary
Exception logic using detected architecture
pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go
Replaces the prior ppc64le-only branch with a call to getArchitecture; when an alternative architecture is detected and openshift-image-registry has replicaCount == 1, returns architecture-specific issue links for ppc64le vs s390x; logs debug if detection/replica evaluation fails.
Architecture detection helper
pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go
Adds getArchitecture(*rest.Config) (string, error) which creates a Kubernetes client, lists Nodes, and returns the first node architecture matching ppc64le or s390x (or "" if none match).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% 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 title accurately summarizes the main change: extending the image-registry single replica exception to s390x architecture, which is directly reflected in the code changes that add architecture detection and s390x-specific handling.
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 PR modifies operators.go which creates JUnit test cases, not Ginkgo tests. No Ginkgo directives (It, Describe, etc.) found. Test names use only static operator lists and hardcoded strings.
Test Structure And Quality ✅ Passed PR modifies only operators.go (monitoring library code), not Ginkgo test code. Custom check for test quality is not applicable to implementation files.
Microshift Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests; only modifies image-registry monitor test logic for architecture detection. Custom check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests. Changes are to monitor test utilities in pkg/monitortests/, not e2e test specifications.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies test code, not deployments. No scheduling constraints introduced. Code already checks ControlPlaneTopology for topology awareness.
Ote Binary Stdout Contract ✅ Passed All logging in the new code uses logrus (stderr default), code is in test evaluation functions, not process-level, and no stdout writes violate the OTE Binary Stdout Contract.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR adds no new Ginkgo e2e tests. Changes are in monitor test analysis code (operators.go), not e2e tests, so IPv6/disconnected network check is 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

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

@openshift-ci-robot
Copy link
Copy Markdown

@ropatil010: This pull request references Jira Issue OCPBUGS-86017, which is valid.

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

Requesting review from QA contact:
/cc @ropatil010

Details

In response to this:

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

Summary by CodeRabbit

  • Bug Fixes
  • Refined upgrade operator handling for image-registry to improve support for alternative architectures (ppc64le, s390x) when managing unavailable status outside standard upgrade windows.
  • Enhanced debugging capabilities with improved logging for architecture detection failures and state transitions.

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

openshift-ci Bot commented May 18, 2026

@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: ropatil010.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

@ropatil010: This pull request references Jira Issue OCPBUGS-86017, which is valid.

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

Requesting review from QA contact:
/cc @ropatil010

In response to this:

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

Summary by CodeRabbit

  • Bug Fixes
  • Refined upgrade operator handling for image-registry to improve support for alternative architectures (ppc64le, s390x) when managing unavailable status outside standard upgrade windows.
  • Enhanced debugging capabilities with improved logging for architecture detection failures and state transitions.

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.

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 deads2k and p0lyn0mial May 18, 2026 09:20
@ropatil010
Copy link
Copy Markdown
Contributor Author

/assign @KeerthanaAP @prb112

@openshift-ci openshift-ci Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label May 18, 2026
@ropatil010
Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@ropatil010
Copy link
Copy Markdown
Contributor Author

/retest-required

@KeerthanaAP
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 19, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 19, 2026

@ropatil010: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/924454b0-5365-11f1-9b50-523cf28a3f02-0

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 19, 2026

@ropatil010: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bdac2b60-538c-11f1-98c3-a465ddd91667-0

Comment thread pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go Outdated
Comment thread pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go Outdated
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label May 20, 2026
@openshift-ci-robot openshift-ci-robot added jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. and removed jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 20, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@ropatil010: This pull request references Jira Issue OCPBUGS-86017, which is invalid:

  • expected the bug to be in one of the following states: NEW, ASSIGNED, POST, but it is MODIFIED instead

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.

Details

In response to this:

Hi Team,

Can you PTAL on this PR.

This commit extends the existing ppc64le single-replica image-registry exception to also cover s390x architecture. During upgrades from 4.22 to 5.0, clusters running on s390x with a single replica image-registry deployment experience temporary unavailability (NoReplicasAvailable) when the registry pod is restarted. This is a known limitation on alternative architectures due to the lack of redundancy with a single replica.

Changes:

  • Replaced isppc64le() function with getAltArchitecture() to support multiple alternative architectures (ppc64le and s390x)
  • Added s390x exception with bug ID OCPBUGS-86017
  • Updated exception handling to use a switch statement for clarity
  • Improved logging to include the detected architecture
  • Used platformidentification constants for architecture names

Bug: https://redhat.atlassian.net/browse/OCPBUGS-86017
Related: https://redhat.atlassian.net/browse/OCPBUGS-82160 (ppc64le)

Summary by CodeRabbit

  • Bug Fixes
  • Improved upgrade operator handling for the image-registry so unavailable status outside upgrade windows correctly considers alternative architectures (ppc64le, s390x).
  • When architecture is detected, the operator returns architecture-specific guidance for single-replica registry cases.
  • When detection fails, emits debug logging to surface issues rather than silently falling back.

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-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@ropatil010
Copy link
Copy Markdown
Contributor Author

/retest

@ropatil010
Copy link
Copy Markdown
Contributor Author

The failure profile pull-ci-openshift-origin-main-e2e-aws-ovn-serial-2of2 is not related to this PR changes. We can retry this as re-run if needed
cc: @prb112

@openshift-trt
Copy link
Copy Markdown

openshift-trt Bot commented May 20, 2026

Job Failure Risk Analysis for sha: b8c4def

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-ovn-serial-2of2 Medium
[sig-cluster-lifecycle][Feature:Machines][Serial] Managed cluster should grow and decrease when scaling different machineSets simultaneously [Timeout:30m][apigroup:machine.openshift.io] [Suite:openshift/conformance/serial]
This test has passed 97.50% of 521 runs on release 5.0 [Overall] in the last week.

Open Bugs
cluster operator dns reported Progressing=True on cluster scaling up

@ropatil010
Copy link
Copy Markdown
Contributor Author

/test e2e-aws-ovn-serial-2of2

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

@ropatil010: all tests passed!

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.

@ropatil010
Copy link
Copy Markdown
Contributor Author

Hi @prb112 PTAL on the PR. Thanks in adv!

Copy link
Copy Markdown
Contributor

@prb112 prb112 left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 21, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

@ropatil010
Copy link
Copy Markdown
Contributor Author

/assign @deads2k @p0lyn0mial
Can you PTAL on the PR. Thanks in adv!

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

@ropatil010: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/eab50df0-551e-11f1-8bf8-de0ed655e90b-0

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 22, 2026

@ropatil010: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/74abfb50-5587-11f1-891d-81570b276bf2-0

@ropatil010
Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 24, 2026

@ropatil010: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-multiarch-main-nightly-5.0-upgrade-from-nightly-4.22-ocp-ovn-remote-libvirt-multi-z-z

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/95859cb0-5739-11f1-8092-9205cf670d0a-0

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. lgtm Indicates that a PR is ready to be merged. ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants