Hi All,
Yesterday we merged the class LibvirtVmXmlBuilder in ovirt-engine.
It does not include the conversion of all the previously supported VM
properties (e.g., payload devices, OVS stuff, cinder disks - any help would
be appreciated btw) or covers all flows (e.g., run once) yet and there is
surely a place for improvement, but in its current state
LibvirtVmXmlBuilder is able to generate a libvirt's domxml on the engine
side for many typical VMs in our development environment.
If you happen to start working on a change that involves changing something
in the domxml, please do it by modifying this class. Our plan is to
deprecate the VM info map/dictionary soon.
Let me try to motivate you by example:
Let's say that you want to add support for a property of a disk called
'discard'.
In 4.1:
You had to patch VmInfoBuilderImpl to add another element to the VM info
map and then modify VDSM to use it when encoding the Disk device into XML.
Now:
You need to patch LibvirtVmXmlBuilder so the 'discard' property would be
set on the disk device element in the generated XML.
In order to test such a change you can:
(1) apply [1] to send the XML generated by the engine to VDSM
(2) apply [2] to send the XML generated by the engine to libvirt
[1]
https://gerrit.ovirt.org/#/c/71088/
[2]
https://gerrit.ovirt.org/#/c/65182/
Regards,
Arik