Skip to content

Add provisionedIops for pd-extreme #1079

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

Merged
merged 3 commits into from
Dec 15, 2022

Conversation

sunnylovestiramisu
Copy link
Contributor

@sunnylovestiramisu sunnylovestiramisu commented Nov 14, 2022

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test

/kind feature

/kind flake

What this PR does / why we need it:
Support pd-extreme with provisionedIops, please see pd-extreme

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

The current pd-extreme restrictions:

  • Extreme persistent disks are zonal only. You cannot create regional extreme persistent disks.
  • You cannot attach multiple VM instances in read-only mode to an extreme persistent disk.
  • You cannot create an image or machine image from an extreme persistent disk.
  • You cannot clone an extreme persistent disk.

Does this PR introduce a user-facing change?:


Pass in ProvisionedIOPSOnCreate as a parameter for CreateVolume

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note Denotes a PR that will be considered when it comes time to generate release notes. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 14, 2022
@k8s-ci-robot
Copy link
Contributor

Hi @sunnylovestiramisu. 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 Nov 14, 2022
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Nov 14, 2022
@mattcary
Copy link
Contributor

/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 Nov 14, 2022
Copy link
Contributor

@mattcary mattcary left a comment

Choose a reason for hiding this comment

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

Let's also add the changes to gce-compute in this same PR.

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 14, 2022
@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Nov 18, 2022
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Nov 18, 2022
@sunnylovestiramisu sunnylovestiramisu force-pushed the master branch 2 times, most recently from 70de6e4 to 1e548fd Compare November 29, 2022 18:03
@judemars
Copy link
Contributor

Hey there! Just letting you know that I have just fixed and re-enabled the sanity tests for PD in go/pdcsi-oss-driver/issues/990 so if you experience failures in your sanity test PR gate build because you're on an old branch before the tests were fixed, merging the latest commits from master into this branch it should make them pass. Let me know if you have any questions!

@sunnylovestiramisu
Copy link
Contributor Author

/assign @mattcary

@sunnylovestiramisu sunnylovestiramisu force-pushed the master branch 3 times, most recently from 108471e to 8c9ec12 Compare December 2, 2022 19:23
@k8s-ci-robot k8s-ci-robot removed the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 2, 2022
@sunnylovestiramisu
Copy link
Contributor Author

/retest

@sunnylovestiramisu sunnylovestiramisu marked this pull request as ready for review December 8, 2022 04:49
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 8, 2022
@sunnylovestiramisu
Copy link
Contributor Author

sunnylovestiramisu commented Dec 8, 2022

pull-gcp-compute-persistent-disk-csi-driver-kubernetes-integration test failed with

I1208 20:16:57.033]     Dec  8 20:16:56.333: INFO: At 2022-12-08 20:11:39 +0000 UTC - event for csi-gcepd-sc-extreme--no-volumesnapshotclassjltvh-cloned: {pd.csi.storage.gke.io_e2e-test-prow-minion-group-5v0r_488ec745-8f4f-4b8e-bb07-e8ff64d95cb6 } ProvisioningFailed: failed to provision volume with StorageClass "multivolume-2380-e2e-sc9n4x2": rpc error: code = Internal desc = CreateVolume failed to create single zonal disk "pvc-2a6e4167-27ea-4eff-b8f7-e40b8fdd7137": failed to insert zonal disk: unknown Insert disk error: googleapi: Error 400: Cloning is not supported for disks of pd-extreme type., badRequest

which is expected because pd-extreme does not support cloning.

Failed tests

@sunnylovestiramisu sunnylovestiramisu force-pushed the master branch 2 times, most recently from 71b0fbc to 252c7d2 Compare December 14, 2022 20:59
@sunnylovestiramisu
Copy link
Contributor Author

/test pull-gcp-compute-persistent-disk-csi-driver-kubernetes-integration

@sunnylovestiramisu
Copy link
Contributor Author

sunnylovestiramisu commented Dec 14, 2022

The k8s integration success run with pd-extreme is in:
https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/sigs.k8s.io_gcp-compute-persistent-disk-csi-driver/1079/pull-gcp-compute-persistent-disk-csi-driver-kubernetes-integration/1603132775324454912/

The discussion is that we are not checking in the integration test but we can swap the storage class to --storageclass-files=sc-extreme.yaml in test/run-k8s-integration.sh

@sunnylovestiramisu sunnylovestiramisu force-pushed the master branch 2 times, most recently from c439258 to 088dfa1 Compare December 15, 2022 00:00
@@ -127,10 +127,12 @@ func generateDriverConfigFile(testParams *testParameters) (string, error) {
snapshotClassName = "no-volumesnapshotclass"
}

caps = append(caps, "pvcDataSource")
if strings.Contains(testParams.storageClassFile, "sc-standard") {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we want to check pvcDataSource on everything but extreme, not just on standard.

(if we picked one we'd do balanced anyway)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was thinking hyperdisk also does not support cloning?

Copy link
Contributor

Choose a reason for hiding this comment

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

We'll cross that bridge when we get to it. I think some SKUs will.

@mattcary
Copy link
Contributor

/lgtm
/approve

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mattcary, sunnylovestiramisu

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 15, 2022
@k8s-ci-robot k8s-ci-robot merged commit be08243 into kubernetes-sigs:master Dec 15, 2022
k8s-ci-robot added a commit that referenced this pull request May 30, 2023
…k-of-#1079-#1101-upstream-release-1.8

Automated cherry pick of #1079: Add provisionedIops for pd-extreme
#1101: Add provisionedThroughput for hyperdisk
k8s-ci-robot added a commit that referenced this pull request Jul 21, 2023
…k-of-#1079-#1101-#1128-upstream-release-1.7

Automated cherry pick of #1079: Add provisionedIops for pd-extreme #1128: Change iops params directly convert string to int64
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. release-note Denotes a PR that will be considered when it comes time to generate release notes. 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.

4 participants