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

csi sanity "Node Service"."should work" test seems to be more restrictive than the spec #194

Closed
alexanderKhaustov opened this issue Apr 26, 2019 · 3 comments · Fixed by #200

Comments

@alexanderKhaustov
Copy link
Contributor

CreateVolumeRequest in the test does not containt AccessibilityRequirements
https://github.com/kubernetes-csi/csi-test/blob/master/pkg/sanity/node.go#L632
which is allowed in the spec:
https://github.com/container-storage-interface/spec/blob/master/lib/go/csi/csi.pb.go#L833
However, in this case "the SP MAY choose where the provisioned volume is accessible from" rather than required to.

If there's no universally accessible disk provided by the SP the most logical thing to do seems to fail the CreateVolume which will fail the test:
https://github.com/kubernetes-csi/csi-test/blob/master/pkg/sanity/node.go#L648

One might suggest that SP choose any of the available zones and provide a volume, but in this case the test might fail further at
https://github.com/kubernetes-csi/csi-test/blob/master/pkg/sanity/node.go#L684
since the node that the driver runs on might well end up in the different accessibility zone which will make publishing the volume on the node impossible

@pohly
Copy link
Contributor

pohly commented Apr 29, 2019

csi-sanity simulates a CO with a single node, with (where required) that node name being take from the driver's node info. So I guess the right solution would be to always set AccessibilityRequirements?

Do you think you can come up with a PR?

@pohly
Copy link
Contributor

pohly commented Apr 29, 2019

/help-wanted

@alexanderKhaustov
Copy link
Contributor Author

alexanderKhaustov commented Apr 30, 2019

csi-sanity simulates a CO with a single node, with (where required) that node name being take from the driver's node info. So I guess the right solution would be to always set AccessibilityRequirements?

Seems so

Do you think you can come up with a PR?

In a few days, yeah

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment