From 7c0b33e0120930311cab1f216f1724cfce3f517a Mon Sep 17 00:00:00 2001 From: Shintaro Murakami Date: Wed, 10 Jul 2019 17:00:01 +0900 Subject: [PATCH] Add check to reduce orphaned volume --- pkg/controller/volume/persistentvolume/pv_controller.go | 4 ++++ pkg/controller/volume/persistentvolume/testing/testing.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/controller/volume/persistentvolume/pv_controller.go b/pkg/controller/volume/persistentvolume/pv_controller.go index 57cccb1d3dd..be11e392806 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller.go +++ b/pkg/controller/volume/persistentvolume/pv_controller.go @@ -1415,6 +1415,10 @@ func (ctrl *PersistentVolumeController) provisionClaimOperation( pvName := ctrl.getProvisionedVolumeNameForClaim(claim) volume, err := ctrl.kubeClient.CoreV1().PersistentVolumes().Get(pvName, metav1.GetOptions{}) + if err != nil && !apierrs.IsNotFound(err) { + klog.V(3).Infof("error reading persistent volume %q: %v", pvName, err) + return pluginName, err + } if err == nil && volume != nil { // Volume has been already provisioned, nothing to do. klog.V(4).Infof("provisionClaimOperation [%s]: volume already exists, skipping", claimToClaimKey(claim)) diff --git a/pkg/controller/volume/persistentvolume/testing/testing.go b/pkg/controller/volume/persistentvolume/testing/testing.go index 97d4565ad75..de83897057e 100644 --- a/pkg/controller/volume/persistentvolume/testing/testing.go +++ b/pkg/controller/volume/persistentvolume/testing/testing.go @@ -223,7 +223,7 @@ func (r *VolumeReactor) React(action core.Action) (handled bool, ret runtime.Obj return true, volume.DeepCopy(), nil } klog.V(4).Infof("GetVolume: volume %s not found", name) - return true, nil, fmt.Errorf("Cannot find volume %s", name) + return true, nil, apierrs.NewNotFound(action.GetResource().GroupResource(), name) case action.Matches("get", "persistentvolumeclaims"): name := action.(core.GetAction).GetName()