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

✨ Add ebs volume throughput field to v1alpha4 Volume #2468

Merged

Conversation

cnmcavoy
Copy link
Contributor

@cnmcavoy cnmcavoy commented Jun 3, 2021

What type of PR is this?
/kind feature

What this PR does / why we need it:

Adds configurable EBS volume throughput in AWS Machine Templates.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2254

Special notes for your reviewer:
N/A

Adds the ability to configure ebs volume throughput in supported ebs types

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 3, 2021
@k8s-ci-robot
Copy link
Contributor

Welcome @cnmcavoy!

It looks like this is your first PR to kubernetes-sigs/cluster-api-provider-aws 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/cluster-api-provider-aws has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 3, 2021
@k8s-ci-robot
Copy link
Contributor

Hi @cnmcavoy. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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/test-infra repository.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Jun 3, 2021
@richardcase
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jun 3, 2021
@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch from b81c154 to 4ef24f8 Compare June 3, 2021 21:15
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 3, 2021
@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch from 4ef24f8 to 0f357f2 Compare June 3, 2021 21:31
Copy link
Member

@richardcase richardcase left a comment

Choose a reason for hiding this comment

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

Thanks for this PR 👍

A couple of small comments.

api/v1alpha3/types.go Outdated Show resolved Hide resolved
pkg/cloud/services/ec2/instances.go Outdated Show resolved Hide resolved
@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch 2 times, most recently from 84414bb to 7fc29c8 Compare June 3, 2021 22:21
@@ -149,6 +149,14 @@ func (r *AWSMachine) validateRootVolume() field.ErrorList {
allErrs = append(allErrs, field.Required(field.NewPath("spec.rootVolumeOptions.iops"), "iops required if type is 'io1' or 'io2'"))
}

if r.Spec.RootVolume.Type == "gp2" && r.Spec.RootVolume.Throughput != 0 {
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't only support gp2 AFAIK.
Please take a look at the webhook validation check in this PR for gp3: https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/2496/files

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks! you are correct, I forgot that gp2 support is provided by the legacy aws provider in kubernetes.

@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch from 7a26768 to 094df80 Compare June 17, 2021 17:47
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 23, 2021
@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch from 094df80 to e78e5df Compare June 23, 2021 15:22
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 23, 2021
@sedefsavas
Copy link
Contributor

@cnmcavoy will you have time to rebase this PR and do some changes that are in https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/2496/files?

@cnmcavoy
Copy link
Contributor Author

@cnmcavoy will you have time to rebase this PR and do some changes that are in https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/2496/files?

I have time - just to confirm, is the intent to combine the changes in your PR with those here?

@sedefsavas
Copy link
Contributor

Yes and resolving the comments.
Not much is different I think, mostly just the comment I made above.

@richardcase
Copy link
Member

@cnmcavoy - sorry for not following up on this. The change i made in relation to this merged so i can take a look at the fuzzing tests for you.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 22, 2021
@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch 2 times, most recently from 5f478aa to 920ca3c Compare July 22, 2021 17:02
@randomvariable
Copy link
Member

/retest
/test pull-cluster-api-provider-aws-e2e-blocking

@randomvariable
Copy link
Member

Hmm, maybe there's still a flake in the EKS reconciler test, though am unable to reproduce at 200 interations :(

@randomvariable
Copy link
Member

e2e failed because of test infra issues from the looks of things.

@randomvariable
Copy link
Member

Hmm, maybe there's still a flake in the EKS reconciler test, though am unable to reproduce at 200 interations :(

Found the problem. PR'ing a fix.

@randomvariable
Copy link
Member

#2599 should fix the test

@randomvariable
Copy link
Member

This is looking good, let's squash these commits @cnmcavoy

@cnmcavoy cnmcavoy force-pushed the cnmcavoy/volume-throughput branch from 920ca3c to eb9f275 Compare July 23, 2021 15:59
@cnmcavoy
Copy link
Contributor Author

@randomvariable rebased & squashed.

@richardcase
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 30, 2021
@richardcase
Copy link
Member

For final approval:

/assign sedefsavas
/assign randomvariable

@sedefsavas
Copy link
Contributor

/test pull-cluster-api-provider-aws-e2e-blocking

@cnmcavoy
Copy link
Contributor Author

cnmcavoy commented Aug 9, 2021

@richardcase @sedefsavas @randomvariable if you have time, can this be approved and merged?

@randomvariable
Copy link
Member

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: randomvariable

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 9, 2021
@k8s-ci-robot k8s-ci-robot merged commit 528de47 into kubernetes-sigs:main Aug 9, 2021
@k8s-ci-robot k8s-ci-robot added this to the v0.7.0 milestone Aug 9, 2021
dlipovetsky added a commit to dlipovetsky/cluster-api-provider-aws that referenced this pull request Sep 24, 2021
The removed code, introduced in kubernetes-sigs#2556, became unnecessary when
equivalent code was added to the restoreInstance() function in kubernetes-sigs#2468.

This code handles a subset of the cases that restoreInstances() does;
namely, when both the restored and dst pointers are non-nil. The
conversion tests fail if the restoreInstance() call is removed, but this
code is left.  They pass if this code is removed.

Signed-off-by: Daniel Lipovetsky <[email protected]>
@cnmcavoy cnmcavoy deleted the cnmcavoy/volume-throughput branch September 26, 2022 17:30
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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AWSMachineTemplate spec configurable EBS Volume throughput for gp3 type
5 participants