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 gp3 support #633

Merged
merged 1 commit into from
Dec 7, 2020
Merged

Conversation

samjo-nyang
Copy link
Contributor

Is this a bug fix or adding new feature?
Adding new feature

What is this PR about? / Why do we need it?
Support a new volume type gp3 (https://aws.amazon.com/about-aws/whats-new/2020/12/introducing-new-amazon-ebs-general-purpose-volumes-gp3/)

What testing is done?

  • make succeeded
  • make sanity-test succeeded
  • manual gp3 pvc testing (with my internal EKS cluster) succeeded

implements #628

However, docker run -v "$PWD":/go -it golang:1.14.1-buster make test triggers a lot of dependency update. Is this expected and should be in this PR? How can I update aws-sdk only?

@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
  • If you have done the above and are still having issues with the CLA being reported as unsigned, please log a ticket with the Linux Foundation Helpdesk: https://support.linuxfoundation.org/
  • Should you encounter any issues with the Linux Foundation Helpdesk, send a message to the backup e-mail support address at: [email protected]

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. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Dec 3, 2020
@k8s-ci-robot
Copy link
Contributor

Welcome @samjo-nyang!

It looks like this is your first PR to kubernetes-sigs/aws-ebs-csi-driver 🎉. 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/aws-ebs-csi-driver 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
Copy link
Contributor

Hi @samjo-nyang. 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 the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Dec 3, 2020
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Dec 3, 2020
@samjo-nyang
Copy link
Contributor Author

I signed it

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Dec 3, 2020
@coveralls
Copy link

coveralls commented Dec 3, 2020

Pull Request Test Coverage Report for Build 1333

  • 22 of 22 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.5%) to 81.713%

Totals Coverage Status
Change from base Build 1331: 0.5%
Covered Lines: 1622
Relevant Lines: 1985

💛 - Coveralls

@ayberk
Copy link
Contributor

ayberk commented Dec 3, 2020

This is great, thank you!

pkg/cloud/cloud.go Outdated Show resolved Hide resolved
Copy link
Contributor

@ayberk ayberk left a comment

Choose a reason for hiding this comment

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

Again, great work. Thank you!

We should probably change the default type to gp3 as it's cheaper and faster. What do you think @wongma7?

docs/README.md Outdated Show resolved Hide resolved
pkg/cloud/cloud.go Outdated Show resolved Hide resolved
@wongma7
Copy link
Contributor

wongma7 commented Dec 3, 2020

/ok-to-test

IMO we can make gp3 the default if we release the change in a new minor version, by default the performance is equal or better, only throughput is a bit more complicated since for gp2 it might involve "burst credits" but I don't think we need to worry about it. Also there are volume type specific service quotas, so for example if a user has increased their gp2 TiB quota, they must remember to increase their gp3 one as well, but again I don't think this is worth worrying about just somethin to note.

@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 Dec 3, 2020
pkg/cloud/cloud.go Outdated Show resolved Hide resolved
docs/README.md Outdated Show resolved Hide resolved
pkg/cloud/cloud.go Outdated Show resolved Hide resolved
@samjo-nyang
Copy link
Contributor Author

I think that all feedback are applied and all tests are passed.

  • change default volume type to gp3
  • add a new option "iops"
  • fix readme.md

@ayberk @wongma7 @Jan-M
Is there anything left to do?

@ayberk
Copy link
Contributor

ayberk commented Dec 4, 2020

Thank you @samjo-nyang! /lgtm, but let's wait for one more review.

One minor request, can you squash your commits? Ideally we should have one commit for updating the SDK and another one for gp3 support, but you can simply squash into one.

@wongma7
Copy link
Contributor

wongma7 commented Dec 7, 2020

/lgtm
/approve
thank you, we will make a release shortly!!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 7, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: samjo-nyang, wongma7

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 Dec 7, 2020
@k8s-ci-robot k8s-ci-robot merged commit fce7e04 into kubernetes-sigs:master Dec 7, 2020
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. 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. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants