Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding throughput field for volumes in provider spec #95

Merged
merged 1 commit into from
Aug 24, 2022

Conversation

rishabh-11
Copy link
Contributor

@rishabh-11 rishabh-11 commented Aug 16, 2022

What this PR does / why we need it:
This PR makes it possible to configure throughput for different volume types. As of today it is configurable only for gp3 volume type and will return an error from the provider side if specified for any other volume type.

Which issue(s) this PR fixes:
Fixes #93

Special notes for your reviewer:
The following tests were performed on a cluster in the dev landscape:- (Current range of throughput is 125MiB/s - 1000MiB/s)
(The throughput field is configured in machine class yaml and then a machine is deleted to trigger the creation of new machines. The machine controllers are run locally after scaling down the mcm running in the control plane of the dev cluster.)

  1. Throughput=-100, Volume Type = {gp3, io1, gp2} --> Error is returned with the following message:- Invalid value: -100: throughput must be a positive value
  2. Throughput=300, Volume Type = {gp2, io1} --> Error message is as follows:- InvalidBlockDeviceMapping: throughput cannot be specified with the volumeType of device '/dev/xvda'\n\tstatus code: 400
  3. Throughput=300, IOPS=3500, Volume Type = gp3 --> Machine with throughput=300 and IOPS=3500 is created.
  4. Throughput=1001, IOPS=3500, Volume Type = gp3 --> Error message is as follows:- InvalidParameterValue: Volume throughput of 1001 is too high; maximum is 1000.\n\tstatus code: 400
  5. Throughput=100, IOPS=3500, Volume Type = gp3 --> machine with throughput=125 and IOPS = 3500 is created.

In all the above cases where an error is returned, it will be shown as part of the machine status in the machine yaml. The state of the machine will be CrashloopBackoff.

Release note:

Throughput is now configurable for volume types. Its validation i.e. whether it is allowed or not for the particular volume type and is within the range, is done on the provider(AWS) side. Currently only gp3 volume have configurable throughput.

@gardener-robot
Copy link

@rishabh-11 Thank you for your contribution.

@gardener-robot gardener-robot added needs/review Needs review size/m Size of pull request is medium (see gardener-robot robot/bots/size.py) labels Aug 16, 2022
@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Aug 16, 2022
@gardener-robot-ci-2 gardener-robot-ci-2 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Aug 16, 2022
@rishabh-11 rishabh-11 marked this pull request as ready for review August 18, 2022 09:46
@rishabh-11 rishabh-11 requested review from a team as code owners August 18, 2022 09:46
Copy link
Contributor

@himanshu-kun himanshu-kun left a comment

Choose a reason for hiding this comment

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

/lgtm

@himanshu-kun himanshu-kun changed the title Adding throughput field in provider spec Adding throughput field for volumes(supported by gp3 currently) in provider spec Aug 24, 2022
@himanshu-kun himanshu-kun changed the title Adding throughput field for volumes(supported by gp3 currently) in provider spec Adding throughput field for volumes in provider spec Aug 24, 2022
@himanshu-kun himanshu-kun merged commit e1844ca into gardener:master Aug 24, 2022
@gardener-robot gardener-robot added reviewed/lgtm Has approval for merging status/closed Issue is closed (either delivered or triaged) and removed needs/review Needs review labels Aug 25, 2022
@rishabh-11 rishabh-11 deleted the add-throughput-field branch September 2, 2022 09:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) reviewed/lgtm Has approval for merging size/m Size of pull request is medium (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Configure "Throughput (MiB/s)" for gp3 disk type
5 participants