diff --git a/pkg/cloudprovider/resources.go b/pkg/cloudprovider/resources.go index 8002c18169..440c29ca51 100644 --- a/pkg/cloudprovider/resources.go +++ b/pkg/cloudprovider/resources.go @@ -386,7 +386,7 @@ type ICloudDisk interface { type ICloudSnapshot interface { IVirtualResource - GetSize() int32 + GetSizeMb() int32 GetDiskId() string GetDiskType() string Delete() error diff --git a/pkg/compute/models/snapshots.go b/pkg/compute/models/snapshots.go index 36b79ee39f..8e7e0c2959 100644 --- a/pkg/compute/models/snapshots.go +++ b/pkg/compute/models/snapshots.go @@ -658,6 +658,7 @@ func (self *SSnapshot) SyncWithCloudSnapshot(ctx context.Context, userCred mccli // self.Name = ext.GetName() self.Status = ext.GetStatus() self.DiskType = ext.GetDiskType() + self.Size = int(ext.GetSizeMb()) self.CloudregionId = region.Id return nil @@ -694,7 +695,7 @@ func (manager *SSnapshotManager) newFromCloudSnapshot(ctx context.Context, userC } snapshot.DiskType = extSnapshot.GetDiskType() - snapshot.Size = int(extSnapshot.GetSize()) * 1024 + snapshot.Size = int(extSnapshot.GetSizeMb()) snapshot.ManagerId = provider.Id snapshot.CloudregionId = region.Id diff --git a/pkg/multicloud/aliyun/snapshot.go b/pkg/multicloud/aliyun/snapshot.go index 3e2327127e..65a9383d80 100644 --- a/pkg/multicloud/aliyun/snapshot.go +++ b/pkg/multicloud/aliyun/snapshot.go @@ -68,8 +68,8 @@ func (self *SSnapshot) GetStatus() string { } } -func (self *SSnapshot) GetSize() int32 { - return self.SourceDiskSize +func (self *SSnapshot) GetSizeMb() int32 { + return self.SourceDiskSize * 1024 } func (self *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/aws/snapshot.go b/pkg/multicloud/aws/snapshot.go index 0313ee4f2f..c264b5163a 100644 --- a/pkg/multicloud/aws/snapshot.go +++ b/pkg/multicloud/aws/snapshot.go @@ -99,8 +99,8 @@ func (self *SSnapshot) GetMetadata() *jsonutils.JSONDict { return nil } -func (self *SSnapshot) GetSize() int32 { - return self.SourceDiskSize +func (self *SSnapshot) GetSizeMb() int32 { + return self.SourceDiskSize * 1024 } func (self *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/azure/classic_snapshot.go b/pkg/multicloud/azure/classic_snapshot.go index 7dfbc8a3ae..24c7651f23 100644 --- a/pkg/multicloud/azure/classic_snapshot.go +++ b/pkg/multicloud/azure/classic_snapshot.go @@ -64,7 +64,7 @@ func (self *SClassicSnapshot) Delete() error { return self.region.DeleteClassicSnapshot(self.GetId()) } -func (self *SClassicSnapshot) GetSize() int32 { +func (self *SClassicSnapshot) GetSizeMb() int32 { return self.sizeMB } diff --git a/pkg/multicloud/azure/snapshot.go b/pkg/multicloud/azure/snapshot.go index 52b3fb238e..c878ccace1 100644 --- a/pkg/multicloud/azure/snapshot.go +++ b/pkg/multicloud/azure/snapshot.go @@ -97,8 +97,8 @@ func (self *SSnapshot) Delete() error { return self.region.DeleteSnapshot(self.ID) } -func (self *SSnapshot) GetSize() int32 { - return self.Properties.DiskSizeGB +func (self *SSnapshot) GetSizeMb() int32 { + return self.Properties.DiskSizeGB * 1024 } func (self *SRegion) DeleteSnapshot(snapshotId string) error { diff --git a/pkg/multicloud/huawei/snapshot.go b/pkg/multicloud/huawei/snapshot.go index 223b239163..bdc1290149 100644 --- a/pkg/multicloud/huawei/snapshot.go +++ b/pkg/multicloud/huawei/snapshot.go @@ -112,8 +112,8 @@ func (self *SSnapshot) GetMetadata() *jsonutils.JSONDict { return nil } -func (self *SSnapshot) GetSize() int32 { - return self.Size +func (self *SSnapshot) GetSizeMb() int32 { + return self.Size * 1024 } func (self *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/openstack/snapshot.go b/pkg/multicloud/openstack/snapshot.go index 33f200045f..7775afef1d 100644 --- a/pkg/multicloud/openstack/snapshot.go +++ b/pkg/multicloud/openstack/snapshot.go @@ -119,8 +119,8 @@ func (snapshot *SSnapshot) GetMetadata() *jsonutils.JSONDict { return nil } -func (snapshot *SSnapshot) GetSize() int32 { - return snapshot.Size +func (snapshot *SSnapshot) GetSizeMb() int32 { + return snapshot.Size * 1024 } func (snapshot *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/qcloud/snapshot.go b/pkg/multicloud/qcloud/snapshot.go index 6bb39e3e7a..113bd0868c 100644 --- a/pkg/multicloud/qcloud/snapshot.go +++ b/pkg/multicloud/qcloud/snapshot.go @@ -173,8 +173,8 @@ func (self *SSnapshot) GetRegionId() string { return self.region.GetId() } -func (self *SSnapshot) GetSize() int32 { - return self.DiskSize +func (self *SSnapshot) GetSizeMb() int32 { + return self.DiskSize * 1024 } func (self *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/ucloud/snapshot.go b/pkg/multicloud/ucloud/snapshot.go index fa78b538e6..66cfc9dc0b 100644 --- a/pkg/multicloud/ucloud/snapshot.go +++ b/pkg/multicloud/ucloud/snapshot.go @@ -102,8 +102,8 @@ func (self *SSnapshot) GetMetadata() *jsonutils.JSONDict { return nil } -func (self *SSnapshot) GetSize() int32 { - return self.SizeGB +func (self *SSnapshot) GetSizeMb() int32 { + return self.SizeGB * 1024 } func (self *SSnapshot) GetDiskId() string { diff --git a/pkg/multicloud/zstack/snapshot.go b/pkg/multicloud/zstack/snapshot.go index d70b0cefe5..94460b611d 100644 --- a/pkg/multicloud/zstack/snapshot.go +++ b/pkg/multicloud/zstack/snapshot.go @@ -55,7 +55,7 @@ func (snapshot *SSnapshot) GetStatus() string { } } -func (snapshot *SSnapshot) GetSize() int32 { +func (snapshot *SSnapshot) GetSizeMb() int32 { return int32(snapshot.Size / 1024 / 1024) }