Francesco Romani has uploaded a new change for review. Change subject: virt: graphdev: support multiple graphics devices ......................................................................
virt: graphdev: support multiple graphics devices This patch allows a Vm to have more than one Graphics Devices. Change-Id: I5be348b342359d42c878937dca27454fe206a35a Signed-off-by: Francesco Romani <[email protected]> --- M vdsm/virt/vm.py M vdsm_api/vdsmapi-schema.json 2 files changed, 37 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/15/27215/1 diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py index 6563f68..c5c8daa 100644 --- a/vdsm/virt/vm.py +++ b/vdsm/virt/vm.py @@ -1816,8 +1816,16 @@ if len(devices[device]) > 1: raise ValueError("only a single %s device is " "supported" % device) - if len(devices[GRAPHICS_DEVICES]) != 1: - raise ValueError("graphics device is required") + graphDevs = set() + for dev in devices[GRAPHICS_DEVICES]: + if dev.device not in graphDevs: + graphDevs.add(dev.device) + else: + raise ValueError("only a single graphic device " + "per type is supported") + if not graphDevs: + raise ValueError("at least one graphics device is required") + def getConfController(self): """ @@ -2576,7 +2584,10 @@ stats['displayType'] = 'qxl' return stats + # backward compatibility stats.update(getInfo(self.getConfGraphics()[0])) + stats['graphicDevices'] = [getInfo(dev, legacy=False) + for dev in self.getConfGraphics()] def isMigrating(self): return self._migrationSourceThread.isAlive() diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json index 5836f1d..57a78e1 100644 --- a/vdsm_api/vdsmapi-schema.json +++ b/vdsm_api/vdsmapi-schema.json @@ -5825,6 +5825,25 @@ 'balloon_target': 'str'}} ## +# @GraphicsDeviceInfo: +# +# Graphics Device information. +# +# @displayPort: The port in use for unencrypted display data +# +# @displaySecurePort: The port in use for encrypted display data +# +# @displayType: The type of display in use +# +# @displayIp: The IP address to use for accessing the VM display +# +# Since: 4.15.0 +## +{'type': 'GraphicsDeviceInfo', + 'data': {'displayPort': 'uint', 'displaySecurePort': 'uint', + 'displayType': 'VmGraphicsDeviceType', 'displayIp': 'str'}} + +## # @GuestMountInfo: # # Information about a mounted filesystem as reported by the guest agent. @@ -6001,6 +6020,9 @@ # @guestCPUCount: The number of CPU cores are visible as online on the # guest OS. This value is -1 if not supported to report # +# @graphicDevices: Graphics device informations. +# (new in version 4.15.0) +# # Since: 4.10.0 ## {'type': 'RunningVmStats', @@ -6020,7 +6042,8 @@ 'disksUsage': ['GuestMountInfo'], 'netIfaces': ['GuestNetworkDeviceInfo'], '*watchdogEvent': 'WatchdogEvent', 'guestFQDN': 'str', - '*migrationProgress': 'uint', 'guestCPUCount': 'int'}} + '*migrationProgress': 'uint', 'guestCPUCount': 'int', + 'graphicDevices': ['GraphicsDeviceInfo']}} ## # @VmStats: -- To view, visit http://gerrit.ovirt.org/27215 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5be348b342359d42c878937dca27454fe206a35a Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Francesco Romani <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
