aws-ebs-csi-driver: aws ebs csi driver on Kube 1.14 doesnt register driver under `csidrivers.storage.k8.io` as expected

/kind bug

What happened?

  • Install Kube 1.14 GA (via Docker EE)
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:37:52Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.0-docker-2", GitCommit:"71e7c2cb4250a28d6a5bfdbc6a7a111e3f25e215", GitTreeState:"clean", BuildDate:"2019-03-26T19:55:37Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}

#Confirm that CSIDrivers and CSINodes are part of core api-resources.

$ kubectl api-resources | grep csi
csidrivers                                     storage.k8s.io                 false        CSIDriver
csinodes                                       storage.k8s.io                 false        CSINode
  • Install aws ebs csi driver
$ kubectl apply -f /home/aragunathan/code/src/github.com/kubernetes-sigs/aws-ebs-csi-driver/deploy/kubernetes/secret.yaml
secret/aws-secret created

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-ebs-csi-driver/master/deploy/kubernetes/manifest.yaml
serviceaccount/csi-controller-sa created
clusterrole.rbac.authorization.k8s.io/external-provisioner-role created
clusterrolebinding.rbac.authorization.k8s.io/csi-provisioner-binding created
clusterrole.rbac.authorization.k8s.io/external-attacher-role created
clusterrolebinding.rbac.authorization.k8s.io/csi-attacher-binding created
clusterrole.rbac.authorization.k8s.io/cluster-driver-registrar-role created
clusterrolebinding.rbac.authorization.k8s.io/csi-driver-registrar-binding created
clusterrole.rbac.authorization.k8s.io/external-snapshotter-role created
clusterrolebinding.rbac.authorization.k8s.io/csi-snapshotter-binding created
statefulset.apps/ebs-csi-controller created
daemonset.apps/ebs-csi-node created
  • Now query the list of installed csi drivers.
$ kubectl get csidrivers.storage.k8s.io
No resources found.

This should list the aws ebs driver. Note that the driver can be listed using the old method as follows:

$ kubectl get csidrivers.csi.storage.k8s.io
NAME              AGE
ebs.csi.aws.com   2m56s

What you expected to happen? Driver should be listed using kubectl get csidrivers.storage.k8s.io

How to reproduce it (as minimally and precisely as possible)? Please refer to above steps.

Anything else we need to know?: driver works fine otherwise. I can create sc, pvc/pv and pods successfully.

Environment

  • Kubernetes version (use kubectl version):
  • Driver version:

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 19 (18 by maintainers)

Most upvoted comments

@ddebroy : Using the new set of sidecar canaries worked!

The features CSIDriverRegistry and CSINodeInfo were in alpha before. They are promoted to Beta starting v1.14. Therefore, I think no backward compatibility should be expected wrt those features in clusters prior to v1.14 according to k8s deprecation policies.

Regarding the update in external-attacher to use the beta in-tree CSINodeInfo: the PR merged 10 days ago. Looks like @anusha-ragunathan was trying the attacher from before then [12 days ago]. So @anusha-ragunathan, can you please update the side-car images once more and check please? The canary images also got updated 3/4 days back.