Commit 9fe3cf9e authored by Balu Dontu's avatar Balu Dontu

Fix for detach volume when node is not present/ powered off

parent d82e51ed
...@@ -924,11 +924,12 @@ func (vs *VSphere) DiskIsAttached(volPath string, nodeName k8stypes.NodeName) (b ...@@ -924,11 +924,12 @@ func (vs *VSphere) DiskIsAttached(volPath string, nodeName k8stypes.NodeName) (b
} }
if !nodeExist { if !nodeExist {
glog.Warningf( glog.Errorf("DiskIsAttached failed to determine whether disk %q is still attached: node %q does not exist",
"Node %q does not exist. DiskIsAttached will assume vmdk %q is not attached to it.", volPath,
vSphereInstance, vSphereInstance)
volPath) return false, fmt.Errorf("DiskIsAttached failed to determine whether disk %q is still attached: node %q does not exist",
return false, nil volPath,
vSphereInstance)
} }
// Get VM device list // Get VM device list
...@@ -975,11 +976,12 @@ func (vs *VSphere) DisksAreAttached(volPaths []string, nodeName k8stypes.NodeNam ...@@ -975,11 +976,12 @@ func (vs *VSphere) DisksAreAttached(volPaths []string, nodeName k8stypes.NodeNam
} }
if !nodeExist { if !nodeExist {
glog.Warningf( glog.Errorf("DisksAreAttached failed to determine whether disks %v are still attached: node %q does not exist",
"Node %q does not exist. DisksAreAttached will assume vmdk %v are not attached to it.", volPaths,
vSphereInstance, vSphereInstance)
volPaths) return attached, fmt.Errorf("DisksAreAttached failed to determine whether disks %v are still attached: node %q does not exist",
return attached, nil volPaths,
vSphereInstance)
} }
// Get VM device list // Get VM device list
...@@ -1145,21 +1147,6 @@ func (vs *VSphere) DetachDisk(volPath string, nodeName k8stypes.NodeName) error ...@@ -1145,21 +1147,6 @@ func (vs *VSphere) DetachDisk(volPath string, nodeName k8stypes.NodeName) error
vSphereInstance = nodeNameToVMName(nodeName) vSphereInstance = nodeNameToVMName(nodeName)
} }
nodeExist, err := vs.NodeExists(vs.client, nodeName)
if err != nil {
glog.Errorf("Failed to check whether node exist. err: %s.", err)
return err
}
if !nodeExist {
glog.Warningf(
"Node %q does not exist. DetachDisk will assume vmdk %q is not attached to it.",
nodeName,
volPath)
return nil
}
vm, vmDevices, _, dc, err := getVirtualMachineDevices(ctx, vs.cfg, vs.client, vSphereInstance) vm, vmDevices, _, dc, err := getVirtualMachineDevices(ctx, vs.cfg, vs.client, vSphereInstance)
if err != nil { if err != nil {
return err return err
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment