Description of problem: If you create two different storageclasses with the storageclass.kubernetes.io/is-default-class: "true" annotation, you'll end up with two default storageclasses. Version-Release number of selected component (if applicable): [cloud-user@master-0 ~]$ oc version oc v3.6.173.0.5 kubernetes v1.6.1+5115d708d7 features: Basic-Auth GSSAPI Kerberos SPNEGO Server https://openshift.refarch.roger.com:8443 openshift v3.6.173.0.5 kubernetes v1.6.1+5115d708d7 How reproducible: create two different storageclasses with the storageclass.kubernetes.io/is-default-class: "true" annotation Steps to Reproduce: 1. cat << EOF | oc create -f - kind: StorageClass apiVersion: storage.k8s.io/v1beta1 metadata: name: standard annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: kubernetes.io/cinder parameters: availability: nova EOF 2. cat << EOF | oc create -f - apiVersion: storage.k8s.io/v1beta1 kind: StorageClass metadata: annotations: storageclass.beta.kubernetes.io/is-default-class: "true" name: ceph parameters: adminId: storageclass adminSecretName: ceph-secret adminSecretNamespace: default monitors: 10.19.115.3:6789,10.19.115.5:6789,10.19.115.8:6789 pool: pit_storageclass userSecretName: ceph-secret provisioner: kubernetes.io/rbd EOF 3. oc get storageclass Actual results: NAME TYPE ceph (default) kubernetes.io/rbd standard (default) kubernetes.io/cinder Expected results: When you try to create the second "default" storageclass, oc should fail and allow only 1 default storageclass Master Log: No relevant Node Log (of failed PODs): No relevant PV Dump: No relevant PVC Dump: No relevant StorageClass Dump (if StorageClass used by PV/PVC): Previously exposed Additional info: When you try to create a pvc when you have two storageclasses, it fails: cat << EOF | oc create -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: name: test001 spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi EOF Error from server (Forbidden): error when creating "mypvc.yaml": persistentvolumeclaims "test001" is forbidden: Internal error occurred: 2 default StorageClasses were found
This issue is being discussed at Github: https://github.com/kubernetes/kubernetes/issues/48416
*** This bug has been marked as a duplicate of bug 1464606 ***