-
Notifications
You must be signed in to change notification settings - Fork 807
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
Enable CSI sanity/conformance tests #1850
Conversation
1708ad2
to
4449619
Compare
Code Coverage Diff
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a mix of nits, requests, and out-of-scope comments. LGTMing because this PR is a two-way-door and requested changes are not blocking.
@@ -150,8 +150,7 @@ test: | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding test-sanity as dependency for make test
once we fix these 3 broken tests. These sanity tests are unit-tests (no external dependencies), therefore they finish (almost) instantly. Contributors would also self-service csi-spec gotchas more easily. (Not sure a contributor would remember to run make test-sanity
but they would hopefully be running make test
)
4449619
to
d5e2f6c
Compare
d5e2f6c
to
56306c9
Compare
Signed-off-by: Eddie Torres <[email protected]>
56306c9
to
3279241
Compare
/approve |
[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:
Approvers can indicate their approval by writing |
/test pull-aws-ebs-csi-driver-verify |
What is this PR about? / Why do we need it?
This PR enables csi-sanity / conformance tests, which are meant to test the CSI API capability of a driver. They are meant to be an additional test to the unit, functional, and e2e tests of a CSI driver.
The following 3 tests fail:
[Fail] Node Service NodeExpandVolume [It] should fail when volume is not found /home/go/pkg/mod/github.com/kubernetes-csi/csi-test/[email protected]/pkg/sanity/node.go:786
[Fail] Node Service NodeExpandVolume [It] should work if node-expand is called after node-publish /home/go/pkg/mod/github.com/kubernetes-csi/csi-test/[email protected]/pkg/sanity/node.go:837
[Fail] Node Service [It] should work /home/go/pkg/mod/github.com/kubernetes-csi/csi-test/[email protected]/pkg/sanity/node.go:177
Due to
aws-ebs-csi-driver/pkg/driver/node_linux.go
Line 163 in 551b59a
incorrectly being part of the node service. In doing this work, I realized that our node service needs to be revisited as there is logic specific to the mounter interface that has made its way into the node service which really needs decoupling.
Ideally, we should be able to make use of NewFakeMounter from mount-utils. However, this is currently not possible as we implement a custom Mounter interface that is a mix & match of functions defined in the upstream library.
What testing is done?