Change in vdsm[master]: vmdevices: implement getUnderlyingRngDeviceInfo

mpolednik at redhat.com mpolednik at redhat.com
Fri Mar 20 15:03:24 UTC 2015


Martin Polednik has uploaded a new change for review.

Change subject: vmdevices: implement getUnderlyingRngDeviceInfo
......................................................................

vmdevices: implement getUnderlyingRngDeviceInfo

RNG device lacked this function, causing it to be inconsistent when
analyzing device attributes. Creating it corrects this inconsistence
and adds alias and address field parsing which is also used for
persistent device addressing.

Change-Id: I251bf72dcdb351318655908c493e9973b497b5ec
Signed-off-by: Martin Polednik <mpolednik at redhat.com>
---
M vdsm/virt/vm.py
1 file changed, 23 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/82/38982/1

diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index 36bf592..a1b32fe 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -2067,6 +2067,7 @@
         self._getUnderlyingBalloonDeviceInfo()
         self._getUnderlyingWatchdogDeviceInfo()
         self._getUnderlyingSmartcardDeviceInfo()
+        self._getUnderlyingRngDeviceInfo()
         self._getUnderlyingConsoleDeviceInfo()
         self._getUnderlyingHostDeviceInfo()
         # Obtain info of all unknown devices. Must be last!
@@ -4213,6 +4214,28 @@
                     dev['address'] = address
                     dev['alias'] = alias
 
+    def _getUnderlyingRngDeviceInfo(self):
+        """
+        Obtain rng device info from libvirt.
+        """
+        for rng in self._domain.get_device_elements('rng'):
+            address = self._getUnderlyingDeviceAddress(rng)
+            alias = rng.getElementsByTagName('alias')[0].getAttribute('name')
+            source = rng.getElementsByTagName('backend')[0].firstChild.\
+                nodeValue
+
+            for dev in self._devices[hwclass.RNG]:
+                if caps.RNG_SOURCES[dev.specParams['source']] == source:
+                    dev.address = address
+                    dev.alias = alias
+
+            for dev in self.conf['devices']:
+                if dev['device'] == hwclass.RNG and \
+                        caps.RNG_SOURCES[dev['specParams']['source']] == \
+                        source:
+                    dev['address'] = address
+                    dev['alias'] = alias
+
     def _getUnderlyingHostDeviceInfo(self):
         """
         Obtain host device info from libvirt


-- 
To view, visit https://gerrit.ovirt.org/38982
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I251bf72dcdb351318655908c493e9973b497b5ec
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Martin Polednik <mpolednik at redhat.com>


More information about the vdsm-patches mailing list