Improve CSI CRD installation code

This commit is contained in:
saad-ali 2018-08-31 17:19:21 -07:00
parent 2d7b92ee74
commit 247bad23f0
2 changed files with 15 additions and 14 deletions

View File

@ -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

View File

@ -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},