Vsphere: Add 15 missing err checks

pull/564/head
Alvaro Aleman 2019-01-26 22:14:54 +01:00
parent 8d804ceb10
commit 37426c511a
No known key found for this signature in database
GPG Key ID: D9D78F2AEF6D1EDF
7 changed files with 50 additions and 15 deletions

View File

@ -204,7 +204,10 @@ func TestSecretCredentialManager_GetCredential(t *testing.T) {
t.Fatal("Failed to get all secrets from sharedInformer. error: ", err) t.Fatal("Failed to get all secrets from sharedInformer. error: ", err)
} }
for _, secret := range secrets { for _, secret := range secrets {
secretInformer.Informer().GetIndexer().Delete(secret) err := secretInformer.Informer().GetIndexer().Delete(secret)
if err != nil {
t.Fatalf("Failed to delete secret from informer: %v", err)
}
} }
} }

View File

@ -216,8 +216,7 @@ func (nm *NodeManager) DiscoverNode(node *v1.Node) error {
func (nm *NodeManager) RegisterNode(node *v1.Node) error { func (nm *NodeManager) RegisterNode(node *v1.Node) error {
nm.addNode(node) nm.addNode(node)
nm.DiscoverNode(node) return nm.DiscoverNode(node)
return nil
} }
func (nm *NodeManager) UnRegisterNode(node *v1.Node) error { func (nm *NodeManager) UnRegisterNode(node *v1.Node) error {

View File

@ -94,7 +94,7 @@ func TestWithValidCaCert(t *testing.T) {
} }
// Ignoring error here, because we only care about the TLS connection // Ignoring error here, because we only care about the TLS connection
connection.NewClient(context.Background()) _, _ = connection.NewClient(context.Background())
verifyConnectionWasMade() verifyConnectionWasMade()
} }
@ -151,7 +151,7 @@ func TestWithValidThumbprint(t *testing.T) {
} }
// Ignoring error here, because we only care about the TLS connection // Ignoring error here, because we only care about the TLS connection
connection.NewClient(context.Background()) _, _ = connection.NewClient(context.Background())
verifyConnectionWasMade() verifyConnectionWasMade()
} }

View File

@ -85,6 +85,9 @@ func (dc *Datacenter) GetVMByUUID(ctx context.Context, vmUUID string) (*VirtualM
// GetHostByVMUUID gets the host object from the given vmUUID // GetHostByVMUUID gets the host object from the given vmUUID
func (dc *Datacenter) GetHostByVMUUID(ctx context.Context, vmUUID string) (*types.ManagedObjectReference, error) { func (dc *Datacenter) GetHostByVMUUID(ctx context.Context, vmUUID string) (*types.ManagedObjectReference, error) {
virtualMachine, err := dc.GetVMByUUID(ctx, vmUUID) virtualMachine, err := dc.GetVMByUUID(ctx, vmUUID)
if err != nil {
return nil, err
}
var vmMo mo.VirtualMachine var vmMo mo.VirtualMachine
pc := property.DefaultCollector(virtualMachine.Client()) pc := property.DefaultCollector(virtualMachine.Client())
err = pc.RetrieveOne(ctx, virtualMachine.Reference(), []string{"summary.runtime.host"}, &vmMo) err = pc.RetrieveOne(ctx, virtualMachine.Reference(), []string{"summary.runtime.host"}, &vmMo)

View File

@ -127,7 +127,10 @@ func (vm *VirtualMachine) AttachDisk(ctx context.Context, vmDiskPath string, vol
RecordvSphereMetric(APIAttachVolume, requestTime, err) RecordvSphereMetric(APIAttachVolume, requestTime, err)
klog.Errorf("Failed to attach the disk with storagePolicy: %q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err) klog.Errorf("Failed to attach the disk with storagePolicy: %q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err)
if newSCSIController != nil { if newSCSIController != nil {
vm.deleteController(ctx, newSCSIController, vmDevices) nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices)
if nestedErr != nil {
return "", fmt.Errorf("failed to delete SCSI Controller after reconfiguration failed with err=%v: %v", err, nestedErr)
}
} }
return "", err return "", err
} }
@ -136,7 +139,10 @@ func (vm *VirtualMachine) AttachDisk(ctx context.Context, vmDiskPath string, vol
if err != nil { if err != nil {
klog.Errorf("Failed to attach the disk with storagePolicy: %+q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err) klog.Errorf("Failed to attach the disk with storagePolicy: %+q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err)
if newSCSIController != nil { if newSCSIController != nil {
vm.deleteController(ctx, newSCSIController, vmDevices) nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices)
if nestedErr != nil {
return "", fmt.Errorf("failed to delete SCSI Controller after waiting for reconfiguration failed with err='%v': %v", err, nestedErr)
}
} }
return "", err return "", err
} }
@ -145,9 +151,15 @@ func (vm *VirtualMachine) AttachDisk(ctx context.Context, vmDiskPath string, vol
diskUUID, err := vm.Datacenter.GetVirtualDiskPage83Data(ctx, vmDiskPath) diskUUID, err := vm.Datacenter.GetVirtualDiskPage83Data(ctx, vmDiskPath)
if err != nil { if err != nil {
klog.Errorf("Error occurred while getting Disk Info from VM: %q. err: %v", vm.InventoryPath, err) klog.Errorf("Error occurred while getting Disk Info from VM: %q. err: %v", vm.InventoryPath, err)
vm.DetachDisk(ctx, vmDiskPath) nestedErr := vm.DetachDisk(ctx, vmDiskPath)
if nestedErr != nil {
return "", fmt.Errorf("failed to detach disk after getting VM UUID failed with err='%v': %v", err, nestedErr)
}
if newSCSIController != nil { if newSCSIController != nil {
vm.deleteController(ctx, newSCSIController, vmDevices) nestedErr = vm.deleteController(ctx, newSCSIController, vmDevices)
if nestedErr != nil {
return "", fmt.Errorf("failed to delete SCSI Controller after getting VM UUID failed with err='%v': %v", err, nestedErr)
}
} }
return "", err return "", err
} }
@ -271,7 +283,9 @@ func (vm *VirtualMachine) CreateDiskSpec(ctx context.Context, diskPath string, d
if scsiController == nil { if scsiController == nil {
klog.Errorf("Cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType) klog.Errorf("Cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType)
// attempt clean up of scsi controller // attempt clean up of scsi controller
vm.deleteController(ctx, newSCSIController, vmDevices) if err := vm.deleteController(ctx, newSCSIController, vmDevices); err != nil {
return nil, nil, fmt.Errorf("failed to delete SCSI controller after failing to find it on VM: %v", err)
}
return nil, nil, fmt.Errorf("Cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType) return nil, nil, fmt.Errorf("Cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType)
} }
} }
@ -351,7 +365,10 @@ func (vm *VirtualMachine) createAndAttachSCSIController(ctx context.Context, dis
if err != nil { if err != nil {
klog.V(LogLevel).Infof("Cannot add SCSI controller to VM: %q. err: %+v", vm.InventoryPath, err) klog.V(LogLevel).Infof("Cannot add SCSI controller to VM: %q. err: %+v", vm.InventoryPath, err)
// attempt clean up of scsi controller // attempt clean up of scsi controller
vm.deleteController(ctx, newSCSIController, vmDevices) nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices)
if nestedErr != nil {
return nil, fmt.Errorf("failed to delete SCSI controller after failing to add it to vm with err='%v': %v", err, nestedErr)
}
return nil, err return nil, err
} }
return newSCSIController, nil return newSCSIController, nil

View File

@ -1288,7 +1288,9 @@ func (vs *VSphere) NodeAdded(obj interface{}) {
} }
klog.V(4).Infof("Node added: %+v", node) klog.V(4).Infof("Node added: %+v", node)
vs.nodeManager.RegisterNode(node) if err := vs.nodeManager.RegisterNode(node); err != nil {
klog.Errorf("failed to add node %+v: %v", node, err)
}
} }
// Notification handler when node is removed from k8s cluster. // Notification handler when node is removed from k8s cluster.
@ -1300,7 +1302,9 @@ func (vs *VSphere) NodeDeleted(obj interface{}) {
} }
klog.V(4).Infof("Node deleted: %+v", node) klog.V(4).Infof("Node deleted: %+v", node)
vs.nodeManager.UnRegisterNode(node) if err := vs.nodeManager.UnRegisterNode(node); err != nil {
klog.Errorf("failed to delete node %s: %v", node.Name, err)
}
} }
func (vs *VSphere) NodeManager() (nodeManager *NodeManager) { func (vs *VSphere) NodeManager() (nodeManager *NodeManager) {
@ -1316,7 +1320,11 @@ func withTagsClient(ctx context.Context, connection *vclib.VSphereConnection, f
if err := c.Login(ctx, user); err != nil { if err := c.Login(ctx, user); err != nil {
return err return err
} }
defer c.Logout(ctx) defer func() {
if err := c.Logout(ctx); err != nil {
klog.Errorf("failed to logout: %v", err)
}
}()
return f(c) return f(c)
} }

View File

@ -72,7 +72,12 @@ func getVSphereConfig() (*VSphereConfig, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
defer confFile.Close() defer func() {
if err := confFile.Close(); err != nil {
klog.Errorf("failed to close config file: %v", err)
}
}()
cfg, err := readConfig(confFile) cfg, err := readConfig(confFile)
if err != nil { if err != nil {
return nil, err return nil, err