Federico Simoncelli has uploaded a new change for review.
Change subject: libvirtvm: fix xml generation for all the devices ......................................................................
libvirtvm: fix xml generation for all the devices
In one of the patches of the before_device_create series has been removed the XML generation for the regular devices. This patch fixes the behavior reintroducing the missing XML.
Change-Id: Ifb4f9eb32bc58371cec66301275689660193447b Signed-off-by: Federico Simoncelli fsimonce@redhat.com --- M vdsm/libvirtvm.py 1 file changed, 15 insertions(+), 13 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/37/13637/1
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py index 607dedb..6f45226 100644 --- a/vdsm/libvirtvm.py +++ b/vdsm/libvirtvm.py @@ -1304,25 +1304,24 @@
for devType in self._devices: for dev in self._devices[devType]: - if not getattr(dev, 'custom', {}): - continue + if hasattr(dev, 'custom'): + yield
- yield dev - - def _beforeDeviceCreateHooks(self, domxml): + def _beforeDeviceCreateHooks(self, dev): """ Run before_device_create hook script for devices with custom properties
The resulting device xml is cached in dev._deviceXML. """ + deviceXML = dev.getXML()
- for dev in self._customDevices(): - deviceXML = dev.getXML().toxml(encoding='utf-8') - deviceXML = hooks.before_device_create( - deviceXML, self.conf, dev.custom) - dev._deviceXML = deviceXML - domxml._devices.appendChild( - xml.dom.minidom.parseString(deviceXML).firstChild) + if not hasattr(dev, 'custom'): + return deviceXML + + dev._deviceXML = hooks.before_device_create( + deviceXML.toxml(encoding='utf-8'), self.conf, dev.custom) + + return xml.dom.minidom.parseString(dev._deviceXML).firstChild
def _buildCmdLine(self): domxml = _DomXML(self.conf, self.log) @@ -1347,7 +1346,10 @@ domxml.appendInput() domxml.appendGraphics()
- self._beforeDeviceCreateHooks(domxml) + for devType in self._devices: + for dev in self._devices[devType]: + deviceXML = self._beforeDeviceCreateHooks(dev) + domxml._devices.appendChild(deviceXML)
for drive in self._devices[vm.DISK_DEVICES][:]: if not hasattr(drive, 'volumeChain'):
-- To view, visit http://gerrit.ovirt.org/13637 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb4f9eb32bc58371cec66301275689660193447b Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Federico Simoncelli fsimonce@redhat.com