From fd559ee165c5cf29027765ecf9f2eaf81905f886 Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Sat, 28 Apr 2018 15:48:39 +0800 Subject: [PATCH] Fix panic for attaching AzureDisk to vmss nodes --- .../providers/azure/azure_controller_vmss.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/cloudprovider/providers/azure/azure_controller_vmss.go b/pkg/cloudprovider/providers/azure/azure_controller_vmss.go index 55b24cb5ac..76e3f1261a 100644 --- a/pkg/cloudprovider/providers/azure/azure_controller_vmss.go +++ b/pkg/cloudprovider/providers/azure/azure_controller_vmss.go @@ -34,7 +34,10 @@ func (ss *scaleSet) AttachDisk(isManagedDisk bool, diskName, diskURI string, nod return err } - disks := *vm.StorageProfile.DataDisks + disks := []compute.DataDisk{} + if vm.StorageProfile != nil && vm.StorageProfile.DataDisks != nil { + disks = *vm.StorageProfile.DataDisks + } if isManagedDisk { disks = append(disks, compute.DataDisk{ @@ -95,7 +98,10 @@ func (ss *scaleSet) DetachDiskByName(diskName, diskURI string, nodeName types.No return err } - disks := *vm.StorageProfile.DataDisks + disks := []compute.DataDisk{} + if vm.StorageProfile != nil && vm.StorageProfile.DataDisks != nil { + disks = *vm.StorageProfile.DataDisks + } bFoundDisk := false for i, disk := range disks { if disk.Lun != nil && (disk.Name != nil && diskName != "" && *disk.Name == diskName) || @@ -144,7 +150,7 @@ func (ss *scaleSet) GetDataDisks(nodeName types.NodeName) ([]compute.DataDisk, e return nil, err } - if vm.StorageProfile.DataDisks == nil { + if vm.StorageProfile == nil || vm.StorageProfile.DataDisks == nil { return nil, nil }