Change in vdsm[ovirt-3.5]: vm: return diskMapping on status()

laravot at redhat.com laravot at redhat.com
Mon Sep 22 13:07:36 UTC 2014


Liron Aravot has uploaded a new change for review.

Change subject: vm: return diskMapping on status()
......................................................................

vm: return diskMapping on status()

status() is used by API.Global.getVMList and should return also the disk
mapping retrieved by the guest agent.

Change-Id: Ia68ff3c36ba91cde893876a16fc6702419a60d49
Signed-off-by: Liron Aravot <laravot at redhat.com>
---
M tests/vmTests.py
M vdsm/rpc/vdsmapi-schema.json
M vdsm/virt/vm.py
3 files changed, 39 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/97/33197/1

diff --git a/tests/vmTests.py b/tests/vmTests.py
index 32fa5e0..a89a8d3 100644
--- a/tests/vmTests.py
+++ b/tests/vmTests.py
@@ -894,6 +894,9 @@
 
 
 class FakeGuestAgent(object):
+    def __init__(self):
+        self.guestDiskMapping = {}
+
     def getGuestInfo(self):
         return {
             'username': 'Unknown',
diff --git a/vdsm/rpc/vdsmapi-schema.json b/vdsm/rpc/vdsmapi-schema.json
index db441f5..a2f2865 100644
--- a/vdsm/rpc/vdsmapi-schema.json
+++ b/vdsm/rpc/vdsmapi-schema.json
@@ -3434,6 +3434,29 @@
  'returns': ['UUID']}
 
 ##
+# @GuestDiskMappingInfo:
+#
+# disk mapping information indexed by property name.
+#
+# @name:                  device logical name within the guest.
+#
+# Since: 4.16.0
+##
+{'type': 'GuestDiskMappingInfo',
+ 'data': {'name': 'str'}}
+
+
+##
+# @GuestDisksMappingMap:
+#
+# guest disks mapping information indexed by serial.
+#
+# Since: 4.16.0
+##
+{'map': 'GuestDisksMappingMap',
+ 'key': 'str', 'value': 'GuestDiskMappingInfo'}
+
+##
 # @VMFullInfo:
 #
 # Full information about VM.
@@ -3499,6 +3522,11 @@
 #
 # @guestIPs:              A space separated string of assigned IPv4 addresses
 #
+# @guestDiskMapping:      A dictionary containing information about the disk
+#                         mapping within the guest. The key is the device
+#                         serial and the value is the mapping information.
+#                         (New in version 4.16.0.)
+#
 # @smartcardEnable:       Info whether smartcard is enabled.
 #
 # @nicModel:              The type of device that is exposed to the VM operating system
@@ -3521,9 +3549,10 @@
           'username': 'str', 'emulatedMachine': 'str', 'pid': 'uint',
           'spiceSslCipherSuite': 'str', 'cpuType': 'str', 'pauseCode': 'str',
           'guestFQDN': 'str', 'displayIp': 'str', 'keyboardLayout': 'str',
-          'displayPort': 'uint', 'guestIPs': 'str', 'smartcardEnable': 'bool',
-          'nicModel': 'VmInterfaceDeviceModel', 'pitReinjection': 'bool',
-          'status': 'str', 'clientIp': 'str'}}
+          'displayPort': 'uint', 'guestIPs': 'str',
+          'guestDiskMapping': 'GuestDisksMappingMap',
+          'smartcardEnable': 'bool', 'nicModel': 'VmInterfaceDeviceModel',
+          'pitReinjection': 'bool', 'status': 'str', 'clientIp': 'str'}}
 
 ##
 # @Host.getVMFullList:
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index 0f9e4ce..548ce18 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -2852,8 +2852,10 @@
         # used by API.Global.getVMList
         self.conf['status'] = self.lastStatus
         # Filter out any internal keys
-        return dict((k, v) for k, v in self.conf.iteritems()
-                    if not k.startswith("_"))
+        status = dict((k, v) for k, v in self.conf.iteritems()
+                      if not k.startswith("_"))
+        status['guestDiskMapping'] = self.guestAgent.guestDiskMapping
+        return status
 
     def getStats(self):
         """


-- 
To view, visit http://gerrit.ovirt.org/33197
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia68ff3c36ba91cde893876a16fc6702419a60d49
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.5
Gerrit-Owner: Liron Aravot <laravot at redhat.com>


More information about the vdsm-patches mailing list