Merge pull request #22 in YUNIONIO/onecloud from ~QUXUAN/onecloud:hotfix/qx-guest-diskinfo to release/2.1.0

* commit '115b3370e4be2afda5e798099698338dcfb2cc20':
  添加显示disk json详情
This commit is contained in:
邱剑
2018-08-08 22:28:44 +08:00
2 changed files with 28 additions and 0 deletions
+19
View File
@@ -170,6 +170,25 @@ func (self *SGuestdisk) GetJsonDescAtHost(host *SHost) jsonutils.JSONObject {
return desc
}
func (self *SGuestdisk) GetDetailedJson() *jsonutils.JSONDict {
desc := jsonutils.NewDict()
disk := self.GetDisk()
storage := disk.GetStorage()
if fs := disk.GetFsFormat(); len(fs) > 0 {
desc.Add(jsonutils.NewString(fs), "fs")
}
desc.Add(jsonutils.NewString(disk.DiskType), "disk_type")
desc.Add(jsonutils.NewInt(int64(self.Index)), "index")
desc.Add(jsonutils.NewInt(int64(disk.DiskSize)), "size")
desc.Add(jsonutils.NewString(disk.DiskFormat), "disk_format")
desc.Add(jsonutils.NewString(self.Driver), "driver")
desc.Add(jsonutils.NewString(self.CacheMode), "cache_mode")
desc.Add(jsonutils.NewString(self.AioMode), "aio_mode")
desc.Add(jsonutils.NewString(storage.MediumType), "medium_type")
desc.Add(jsonutils.NewString(storage.StorageType), "storage_type")
return desc
}
func (self *SGuestdisk) GetDetailedString() string {
disk := self.GetDisk()
var fs string
+9
View File
@@ -872,6 +872,7 @@ func (self *SGuest) GetExtraDetails(ctx context.Context, userCred mcclient.Token
extra := self.SVirtualResourceBase.GetExtraDetails(ctx, userCred, query)
extra.Add(jsonutils.NewString(self.getNetworksDetails()), "networks")
extra.Add(jsonutils.NewString(self.getDisksDetails()), "disks")
extra.Add(self.getDisksInfoDetails(), "disks_info")
extra.Add(jsonutils.NewInt(int64(self.getDiskSize())), "disk")
cdrom := self.getCdrom()
if cdrom != nil {
@@ -922,6 +923,14 @@ func (self *SGuest) getDisksDetails() string {
return buf.String()
}
func (self *SGuest) getDisksInfoDetails() *jsonutils.JSONArray {
details := jsonutils.NewArray()
for _, disk := range self.GetDisks() {
details.Add(disk.GetDetailedJson())
}
return details
}
func (self *SGuest) getIsolatedDeviceDetails() string {
var buf bytes.Buffer
for _, dev := range self.GetIsolatedDevices() {