kubernetes-sigs / aws-ebs-csi-driver

CSI driver for Amazon EBS https://aws.amazon.com/ebs/
Apache License 2.0
994 stars 797 forks source link

Enable VAC tests #2220

Closed ElijahQuinones closed 1 week ago

ElijahQuinones commented 1 week ago

What type of PR is this?

/kind cleanup

What is this PR about? / Why do we need it?

This PR enables VAC testing

How was this change tested?

CI

Does this PR introduce a user-facing change?

NONE
github-actions[bot] commented 1 week ago

Code Coverage Diff

This PR does not change the code coverage

torredil commented 1 week ago
Using claimSize:1Gi, test suite supported size:{ 1Gi}, driver(ebs.csi.aws.com) supported size:{ 1Gi} 
...
InvalidParameterValue: The volume size is invalid for io2 volumes: 1 GiB. io2 volumes must be at least 4 GiB in size. Please specify a volume size above the minimum limit.

The size for volumes in external tests is defined here:

https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/596ace56dbe7c4b872c03f1eaca45bf04e8558ae/tests/e2e-kubernetes/manifests.yaml#L26

1Gi works for gp2/3, but is invalid for io2. Thoughts on modifying only iops or throughput as a path forward?

ElijahQuinones commented 1 week ago
Using claimSize:1Gi, test suite supported size:{ 1Gi}, driver(ebs.csi.aws.com) supported size:{ 1Gi} 
...
InvalidParameterValue: The volume size is invalid for io2 volumes: 1 GiB. io2 volumes must be at least 4 GiB in size. Please specify a volume size above the minimum limit.

The size for volumes in external tests is defined here:

https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/596ace56dbe7c4b872c03f1eaca45bf04e8558ae/tests/e2e-kubernetes/manifests.yaml#L26

1Gi works for gp2/3, but is invalid for io2. Thoughts on modifying only iops or throughput as a path forward?

Seen this error as well when looking through logs addressed it by switching volume type to gp2

Also took out IOPS modification to not run into IOPS ratio errors.

1 handlers.go:76] "Error from AWS API" err="api error InvalidParameterCombination: Volumes greater than 16 TiB or 64K IOPS or 500:1 IOPS:GB ratio are only supported on instances compatible with io2 Block Express"
E1108 16:41:11.889161       1 driver.go:108] "GRPC error" err="rpc error: code = InvalidArgument desc = Could not modify volume (invalid argument) \"vol-0dfafacada6640c1e\": invalid argument: operation error EC2: ModifyVolume, https response error StatusCode: 400, RequestID: 8beff358-21b6-44cb-a0d3-adf27efcb9d2, api error InvalidParameterCombination: Volumes greater than 16 TiB or 64K IOPS or 500:1 IOPS:GB ratio are only supported on instances compatible with io2 Block Express"

If we would prefer though I can use gp3 and modify iops per gb to not run into this error if we want to test for more meaningful volume modifications.

torredil commented 1 week ago

That works well! @ElijahQuinones /lgtm

ConnorJC3 commented 1 week ago

/approve

Type should be good for these tests, as we have things like iops in our own tests.

k8s-ci-robot commented 1 week ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ConnorJC3

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: - ~~[OWNERS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/OWNERS)~~ [ConnorJC3] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment