From 51e23364768129d87436f72b84964669f7bb4166 Mon Sep 17 00:00:00 2001 From: NickrenREN Date: Fri, 26 May 2017 11:29:19 +0800 Subject: [PATCH] Optimize provisioner plugin result check logic If err is not returned by findProvisionablePlugin(...), storageClass is certainly not nil --- .../volume/persistentvolume/pv_controller.go | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/pkg/controller/volume/persistentvolume/pv_controller.go b/pkg/controller/volume/persistentvolume/pv_controller.go index 0b336711dc..c268c814f5 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller.go +++ b/pkg/controller/volume/persistentvolume/pv_controller.go @@ -1259,28 +1259,22 @@ func (ctrl *PersistentVolumeController) provisionClaimOperation(claimObj interfa return } - if storageClass != nil { - // Add provisioner annotation so external provisioners know when to start - newClaim, err := ctrl.setClaimProvisioner(claim, storageClass) - if err != nil { - // Save failed, the controller will retry in the next sync - glog.V(2).Infof("error saving claim %s: %v", claimToClaimKey(claim), err) - return - } - claim = newClaim + // Add provisioner annotation so external provisioners know when to start + newClaim, err := ctrl.setClaimProvisioner(claim, storageClass) + if err != nil { + // Save failed, the controller will retry in the next sync + glog.V(2).Infof("error saving claim %s: %v", claimToClaimKey(claim), err) + return } + claim = newClaim if plugin == nil { // findProvisionablePlugin returned no error nor plugin. // This means that an unknown provisioner is requested. Report an event // and wait for the external provisioner - if storageClass != nil { - msg := fmt.Sprintf("waiting for a volume to be created, either by external provisioner %q or manually created by system administrator", storageClass.Provisioner) - ctrl.eventRecorder.Event(claim, v1.EventTypeNormal, "ExternalProvisioning", msg) - glog.V(3).Infof("provisioning claim %q: %s", claimToClaimKey(claim), msg) - } else { - glog.V(3).Infof("cannot find storage class for claim %q", claimToClaimKey(claim)) - } + msg := fmt.Sprintf("waiting for a volume to be created, either by external provisioner %q or manually created by system administrator", storageClass.Provisioner) + ctrl.eventRecorder.Event(claim, v1.EventTypeNormal, "ExternalProvisioning", msg) + glog.V(3).Infof("provisioning claim %q: %s", claimToClaimKey(claim), msg) return }