mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(region): nutanix disk type
This commit is contained in:
@@ -193,6 +193,8 @@ type SDisk struct {
|
||||
FlashModeEnabled string `json:"flash_mode_enabled"`
|
||||
DataSourceURL string `json:"data_source_url"`
|
||||
Stats DiskStats `json:"stats"`
|
||||
|
||||
isSys bool
|
||||
}
|
||||
|
||||
func (self *SDisk) GetName() string {
|
||||
@@ -239,9 +241,23 @@ func (self *SDisk) GetDriver() string {
|
||||
}
|
||||
|
||||
func (self *SDisk) GetDiskType() string {
|
||||
if strings.HasSuffix(self.DiskAddress, ".0") {
|
||||
if self.isSys {
|
||||
return api.DISK_TYPE_SYS
|
||||
}
|
||||
ins, err := self.storage.zone.region.GetInstance(self.AttachedVMUUID)
|
||||
if err != nil {
|
||||
return api.DISK_TYPE_DATA
|
||||
}
|
||||
for _, disk := range ins.VMDiskInfo {
|
||||
if disk.IsCdrom {
|
||||
continue
|
||||
}
|
||||
if disk.DiskAddress.VmdiskUUID == self.UUID {
|
||||
return api.DISK_TYPE_SYS
|
||||
} else {
|
||||
return api.DISK_TYPE_DATA
|
||||
}
|
||||
}
|
||||
return api.DISK_TYPE_DATA
|
||||
}
|
||||
|
||||
|
||||
@@ -238,6 +238,7 @@ func (self *SInstance) GetIDisks() ([]cloudprovider.ICloudDisk, error) {
|
||||
cdroms = append(cdroms, disk.DiskAddress.VmdiskUUID)
|
||||
}
|
||||
}
|
||||
isSys := true
|
||||
ret := []cloudprovider.ICloudDisk{}
|
||||
for i := range disks {
|
||||
if utils.IsInStringArray(disks[i].UUID, cdroms) { // skip cdrom disk
|
||||
@@ -248,7 +249,9 @@ func (self *SInstance) GetIDisks() ([]cloudprovider.ICloudDisk, error) {
|
||||
log.Errorf("can not found disk %s storage %s", disks[i].DiskAddress, disks[i].StorageContainerUUID)
|
||||
continue
|
||||
}
|
||||
disks[i].isSys = isSys
|
||||
disks[i].storage = storage.(*SStorage)
|
||||
isSys = false
|
||||
ret = append(ret, &disks[i])
|
||||
}
|
||||
return ret, nil
|
||||
|
||||
Reference in New Issue
Block a user