Skip to content

Conversation

@jhixson74
Copy link
Member

@jhixson74 jhixson74 commented Sep 17, 2025

GP3 volumes have the ability to configure throughput from 125 MiB/s to 2000 MiB/s. This allows the ability to set this at install time in the install-config.

https://issues.redhat.com/browse/CORS-4212
https://issues.redhat.com/browse/CORS-4213
https://issues.redhat.com/browse/CORS-4214
https://issues.redhat.com/browse/CORS-4277

This depends on openshift/machine-api-provider-aws#155 and openshift/machine-api-operator#1430

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 17, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 17, 2025

@jhixson74: This pull request references CORS-4212 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 epic to target the "4.21.0" version, but no target version was set.

In response to this:

GP3 volumes have the ability to configure throughput from 125 MiB/s to 1000 MiB/s. This allows the ability to set this at install time in the install-config.

https://issues.redhat.com/browse/CORS-4212
https://issues.redhat.com/browse/CORS-4213
https://issues.redhat.com/browse/CORS-4214

This depends on openshift/api#2480

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.

@jhixson74
Copy link
Member Author

/label do-not-merge

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 17, 2025

@jhixson74: The label(s) /label do-not-merge cannot be applied. These labels are supported: acknowledge-critical-fixes-only, platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, ux-approved, no-qe, downstream-change-needed, rebase/manual, cluster-config-api-changed, run-integration-tests, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/valid-bug, ok-to-test, stability-fix-approved, staff-eng-approved. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

In response to this:

/label do-not-merge

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.

@jhixson74
Copy link
Member Author

/label do-not-merge/hold

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 17, 2025

@jhixson74: The label(s) /label do-not-merge/hold cannot be applied. These labels are supported: acknowledge-critical-fixes-only, platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, ux-approved, no-qe, downstream-change-needed, rebase/manual, cluster-config-api-changed, run-integration-tests, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/valid-bug, ok-to-test, stability-fix-approved, staff-eng-approved. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

In response to this:

/label do-not-merge/hold

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.

@jhixson74
Copy link
Member Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 17, 2025
@tthvo
Copy link
Member

tthvo commented Sep 17, 2025

/cc

@openshift-ci openshift-ci bot requested a review from tthvo September 17, 2025 17:07
Copy link
Contributor

@patrickdillon patrickdillon left a comment

Choose a reason for hiding this comment

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

Overall this looks good to me

/approve

There are a few small things that should be cleaned up, commented below. And there is no rush because this depends on openshift/api#4212

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 24, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

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 Sep 24, 2025
@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch 3 times, most recently from 0768ab9 to d6c4527 Compare October 29, 2025 18:33
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Oct 29, 2025

@jhixson74: This pull request references CORS-4212 which is a valid jira issue.

In response to this:

GP3 volumes have the ability to configure throughput from 125 MiB/s to 1000 MiB/s. This allows the ability to set this at install time in the install-config.

https://issues.redhat.com/browse/CORS-4212
https://issues.redhat.com/browse/CORS-4213
https://issues.redhat.com/browse/CORS-4214
https://issues.redhat.com/browse/CORS-4277

This depends on openshift/api#2480 and openshift/machine-api-provider-aws#155

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.

@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch from d6c4527 to 582301b Compare November 13, 2025 05:40
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Nov 13, 2025

@jhixson74: This pull request references CORS-4212 which is a valid jira issue.

In response to this:

GP3 volumes have the ability to configure throughput from 125 MiB/s to 2000 MiB/s. This allows the ability to set this at install time in the install-config.

https://issues.redhat.com/browse/CORS-4212
https://issues.redhat.com/browse/CORS-4213
https://issues.redhat.com/browse/CORS-4214
https://issues.redhat.com/browse/CORS-4277

This depends on openshift/api#2480 and openshift/machine-api-provider-aws#155

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

openshift-ci-robot commented Nov 13, 2025

@jhixson74: This pull request references CORS-4212 which is a valid jira issue.

In response to this:

GP3 volumes have the ability to configure throughput from 125 MiB/s to 2000 MiB/s. This allows the ability to set this at install time in the install-config.

https://issues.redhat.com/browse/CORS-4212
https://issues.redhat.com/browse/CORS-4213
https://issues.redhat.com/browse/CORS-4214
https://issues.redhat.com/browse/CORS-4277

This depends on openshift/api#2480 and openshift/machine-api-provider-aws#155 and openshift/machine-api-operator#1430

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.

@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch 2 times, most recently from 1ae6cc6 to 036c04e Compare November 19, 2025 13:31
@tthvo
Copy link
Member

tthvo commented Nov 20, 2025

/test verify-codegen

@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch from 036c04e to fa86ed5 Compare November 20, 2025 22:32
@jhixson74
Copy link
Member Author

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 20, 2025
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2025
@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch from 9b896b0 to 91e979d Compare November 21, 2025 17:39
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2025
GP3 volumes have the ability to configure throughput from 125 MiB/s to
2000 MiB/s. This allows the ability to set this at install time in the
install-config.

https://issues.redhat.com/browse/CORS-4212
@jhixson74 jhixson74 force-pushed the main_aws_gp3_throughput branch from 91e979d to 2e5a20b Compare November 21, 2025 18:16
@rna-afk
Copy link
Contributor

rna-afk commented Nov 21, 2025

/retest

@rna-afk
Copy link
Contributor

rna-afk commented Nov 21, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2025
@jhixson74
Copy link
Member Author

/retest-required

@patrickdillon
Copy link
Contributor

My initial test of this failed with

 InvalidParameterValue: Throughput (MiBps) to iops ratio of 0.411333 is too high; maximum is 0.250000 MiBps per iops"

That's something we will want to validate for (but can do separately from this PR)

@patrickdillon
Copy link
Contributor

/verified by @patrickdillon

I tested the installer bits locally and confirmed that throughput was set on the control plane

The overall functionality of this feature depends on adding support in machine-api operator.
I'm ok to verify the installer part. If the MAO dependency does not land, we will need to withdraw this feature from 4.21

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 22, 2025
@openshift-ci-robot
Copy link
Contributor

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

In response to this:

/verified by @patrickdillon

I tested the installer bits locally and confirmed that throughput was set on the control plane

The overall functionality of this feature depends on adding support in machine-api operator.
I'm ok to verify the installer part. If the MAO dependency does not land, we will need to withdraw this feature from 4.21

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.

@patrickdillon
Copy link
Contributor

install config used for verify:

controlPlane:
  platform:
    aws:
      rootVolume:
        type: gp3
        throughput: 1234
        size: 200
        iops: 5000

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 386dca3 and 2 for PR HEAD 2e5a20b in total

Copy link
Member

@tthvo tthvo left a comment

Choose a reason for hiding this comment

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

/lgtm

I posted quick testing results in internal channel. Overall, throughput is set on control plane machines!

Worker nodes rollout is hitting a panic, which I added openshift/machine-api-provider-aws#155 (comment). Resolving that helps the install complete successfully and throughput is set on worker machines as expected.

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD b3eccf7 and 1 for PR HEAD 2e5a20b in total

@patrickdillon
Copy link
Contributor

/retest-required

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 22, 2025

@jhixson74: 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/prow/e2e-vsphere-externallb-ovn 6409103 link false /test e2e-vsphere-externallb-ovn
ci/prow/e2e-azure-ovn-resourcegroup 6409103 link false /test e2e-azure-ovn-resourcegroup
ci/prow/e2e-aws-custom-dns-techpreview 6409103 link false /test e2e-aws-custom-dns-techpreview
ci/prow/e2e-vsphere-ovn-multi-network 6409103 link false /test e2e-vsphere-ovn-multi-network
ci/prow/e2e-vsphere-static-ovn 6409103 link false /test e2e-vsphere-static-ovn
ci/prow/okd-scos-e2e-aws-ovn 582301b link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-aws-ovn-shared-vpc-custom-security-groups 2e5a20b link false /test e2e-aws-ovn-shared-vpc-custom-security-groups
ci/prow/e2e-aws-ovn-single-node 2e5a20b link false /test e2e-aws-ovn-single-node
ci/prow/e2e-aws-ovn-fips 2e5a20b link false /test e2e-aws-ovn-fips
ci/prow/aws-private 2e5a20b link false /test aws-private
ci/prow/e2e-aws-default-config 2e5a20b link false /test e2e-aws-default-config
ci/prow/e2e-aws-ovn-imdsv2 2e5a20b link false /test e2e-aws-ovn-imdsv2
ci/prow/e2e-aws-ovn-heterogeneous 2e5a20b link false /test e2e-aws-ovn-heterogeneous
ci/prow/e2e-aws-byo-subnet-role-security-groups 2e5a20b link false /test e2e-aws-byo-subnet-role-security-groups
ci/prow/e2e-aws-ovn-edge-zones 2e5a20b link false /test e2e-aws-ovn-edge-zones
ci/prow/okd-scos-e2e-vsphere-ovn 2e5a20b link false /test okd-scos-e2e-vsphere-ovn
ci/prow/e2e-aws-ovn-shared-vpc-edge-zones 2e5a20b link false /test e2e-aws-ovn-shared-vpc-edge-zones

Full PR test history. Your PR dashboard.

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.

@openshift-merge-bot openshift-merge-bot bot merged commit e81ba7f into openshift:main Nov 22, 2025
15 of 26 checks passed
//
// +kubebuilder:validation:Minimum=0
// +optional
Throughput int64 `json:"throughput"`
Copy link
Contributor

Choose a reason for hiding this comment

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

Needs to be a pointer so that you can detect between someone trying to explicitly set 0 vs no opinion

Copy link
Member

Choose a reason for hiding this comment

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

Thanks Joel, I opened #10132 to address this.

// Throughput to provision in MiB/s supported for the volume type. This
// is currently only applicable to volumes of type gp3.
//
// +kubebuilder:validation:Minimum=0
Copy link
Contributor

Choose a reason for hiding this comment

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

The minimum is 125 in the API, why would it be different here?

Copy link
Member

Choose a reason for hiding this comment

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

Thanks, it will be addressed in #10132

Copy link
Member Author

Choose a reason for hiding this comment

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

The minimum is 125 in the API, why would it be different here?

I based this work directly off of how IOPS was implemented. IOPS makes all the same assumptions and works the same way as Throughput. So I (wrongly) assumed if everyone was okay with how IOPS was implemented, then it would be okay for Throughput.

Copy link
Member

@tthvo tthvo Dec 3, 2025

Choose a reason for hiding this comment

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

Right, I had the same thought as you said, John 😞

As a side note, the AWS SDK takes 0 as no-opinion; that's probably why CAPA allows 0 [0] [1].

I couldn't find any discussions regarding the IOPS implementation, but I guess we need to eventually follow the API...

jianlinliu added a commit to jianlinliu/installer that referenced this pull request Nov 26, 2025
…_throughput"

This reverts commit e81ba7f, reversing
changes made to 5060ac9.
openshift-merge-bot bot added a commit that referenced this pull request Nov 26, 2025
TRT-2440: Revert #9945 "CORS-4212: AWS: Add the ability to configure throughput on GP3 volumes"
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-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.

8 participants