From ea32f06d20b9f6d547f52b419333b8620aba9368 Mon Sep 17 00:00:00 2001 From: FengyunPan Date: Mon, 14 Aug 2017 10:12:46 +0800 Subject: [PATCH] [VSphere] Don't return err when node doesn't exist in DetachDisk() --- pkg/cloudprovider/providers/vsphere/vsphere.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/cloudprovider/providers/vsphere/vsphere.go b/pkg/cloudprovider/providers/vsphere/vsphere.go index d362666eba0..2105edcd6e9 100644 --- a/pkg/cloudprovider/providers/vsphere/vsphere.go +++ b/pkg/cloudprovider/providers/vsphere/vsphere.go @@ -498,6 +498,12 @@ func (vs *VSphere) DetachDisk(volPath string, nodeName k8stypes.NodeName) error } vm, err := vs.getVMByName(ctx, nodeName) if err != nil { + // If node doesn't exist, disk is already detached from node. + if vclib.IsNotFound(err) { + glog.Infof("Node %q does not exist, disk %s is already detached from node.", nodeNameToVMName(nodeName), volPath) + return nil + } + glog.Errorf("Failed to get VM object for node: %q. err: +%v", nodeNameToVMName(nodeName), err) return err }