From 64849240b26fa57f485c4690c178d97a357db644 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Mon, 7 Dec 2020 15:16:10 +0800 Subject: [PATCH] fix(region): avoid resize azure disk error --- pkg/multicloud/azure/data_disk.go | 7 +++++++ pkg/multicloud/azure/disk.go | 2 +- pkg/multicloud/azure/os_disk.go | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/multicloud/azure/data_disk.go b/pkg/multicloud/azure/data_disk.go index d87b018677..551fb9e17c 100644 --- a/pkg/multicloud/azure/data_disk.go +++ b/pkg/multicloud/azure/data_disk.go @@ -123,6 +123,13 @@ func (self *SDataDisk) GetDiskFormat() string { } func (self *SDataDisk) GetDiskSizeMB() int { + if self.ManagedDisk != nil { + disk, err := self.region.GetDisk(self.ManagedDisk.ID) + if err != nil { + return 0 + } + return disk.GetDiskSizeMB() + } return int(self.DiskSizeGB.Int32()) * 1024 } diff --git a/pkg/multicloud/azure/disk.go b/pkg/multicloud/azure/disk.go index 81a8a9eb09..24a8e47ce4 100644 --- a/pkg/multicloud/azure/disk.go +++ b/pkg/multicloud/azure/disk.go @@ -149,7 +149,7 @@ func (self *SRegion) ResizeDisk(diskId string, sizeGb int32) error { if err != nil { return err } - disk.Properties.DiskSizeGB = TAzureInt32(sizeGb) + disk.Properties.DiskSizeGB = TAzureInt32(fmt.Sprintf("%d", sizeGb)) disk.Properties.ProvisioningState = "" return self.update(jsonutils.Marshal(disk), nil) } diff --git a/pkg/multicloud/azure/os_disk.go b/pkg/multicloud/azure/os_disk.go index 1eaa2ac73b..67ac1c7316 100644 --- a/pkg/multicloud/azure/os_disk.go +++ b/pkg/multicloud/azure/os_disk.go @@ -119,6 +119,13 @@ func (self *SOsDisk) GetDiskFormat() string { } func (self *SOsDisk) GetDiskSizeMB() int { + if self.ManagedDisk != nil { + disk, err := self.region.GetDisk(self.ManagedDisk.ID) + if err != nil { + return 0 + } + return disk.GetDiskSizeMB() + } return int(self.DiskSizeGB.Int32()) * 1024 }