diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index b0b941008ad..58da718521a 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -148,7 +148,7 @@ func NewAttachDetachController( } // Install required CSI CRDs on API server - if utilfeature.DefaultFeatureGate.Enabled(features.CSICrdAutoInstall) { + if utilfeature.DefaultFeatureGate.Enabled(features.CSICRDAutoInstall) { adc.installCRDs() } @@ -685,15 +685,16 @@ func (adc *attachDetachController) installCRDs() error { } res, err := adc.crdClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd) - if err != nil && !apierrors.IsAlreadyExists(err) { - glog.Errorf("failed to create CSIDrivers CRD: %#v, err: %#v", - res, err) + if err == nil { + glog.Infof("CSIDrivers CRD created successfully: %#v", + res) } else if apierrors.IsAlreadyExists(err) { glog.Warningf("CSIDrivers CRD already exists: %#v, err: %#v", res, err) } else { - glog.Infof("CSIDrivers CRD created successfully: %#v", - res) + glog.Errorf("failed to create CSIDrivers CRD: %#v, err: %#v", + res, err) + return err } crd = &apiextensionsv1beta1.CustomResourceDefinition{ @@ -712,15 +713,16 @@ func (adc *attachDetachController) installCRDs() error { } res, err = adc.crdClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd) - if err != nil && !apierrors.IsAlreadyExists(err) { - glog.Errorf("failed to create CSINodeInfo CRD: %#v, err: %#v", - res, err) + if err == nil { + glog.Infof("CSINodeInfo CRD created successfully: %#v", + res) } else if apierrors.IsAlreadyExists(err) { glog.Warningf("CSINodeInfo CRD already exists: %#v, err: %#v", res, err) } else { - glog.Infof("CSINodeInfo CRD created successfully: %#v", - res) + glog.Errorf("failed to create CSINodeInfo CRD: %#v, err: %#v", + res, err) + return err } return nil diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 9221710190a..a43370f9325 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -201,9 +201,8 @@ const ( // owner: @saad-ali // alpha: v1.12 - // // Enable automatic installation of CRD for csi.storage.k8s.io API objects. - CSICrdAutoInstall utilfeature.Feature = "CSICrdAutoInstall" + CSICRDAutoInstall utilfeature.Feature = "CSICRDAutoInstall" // owner @MrHohn // beta: v1.10 @@ -412,7 +411,7 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS MountContainers: {Default: false, PreRelease: utilfeature.Alpha}, VolumeScheduling: {Default: true, PreRelease: utilfeature.Beta}, CSIPersistentVolume: {Default: true, PreRelease: utilfeature.Beta}, - CSICrdAutoInstall: {Default: false, PreRelease: utilfeature.Alpha}, + CSICRDAutoInstall: {Default: false, PreRelease: utilfeature.Alpha}, CustomPodDNS: {Default: true, PreRelease: utilfeature.Beta}, BlockVolume: {Default: false, PreRelease: utilfeature.Alpha}, StorageObjectInUseProtection: {Default: true, PreRelease: utilfeature.GA},