
On Wed, Mar 28, 2018 at 13:11:11 +0200, Peter Krempa wrote:
On Wed, Mar 28, 2018 at 16:15:50 +0530, Prerna wrote:
Hi Michal, The <loader>,<nvram> tags of os element in domain XML ( https://libvirt.org/formatdomain.html#elementsOSBIOS) currently expects absolute path of the local file which would be used to back the the pflash disk representing the non-volatile RAM:
<loader readonly='yes' secure='no' type='rom'>/usr/lib/xen/boot/hvmloader</loader> <nvram template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/nvram/guest_VARS.fd</nvram>
However, given that for virtualized environments, it is possible that the VM could be started on different hosts at various points in time, and so we need to expose the firmware/nvram tuple over a network device so as to be accessible from various hosts. I propose extending of the existing config by adding a new element, "backing". This could be one of : - 'file': for local filesystem paths - 'network': for network-attached storage.
Since this is as any other storage volume for the hypervisor, you should treat it as a virStorageSource, including the 'block' and 'volume' types.
As an example:
<loader readonly='yes' secure='no' type='rom' backing = 'file'>/usr/share/OVMF/OVMF_CODE.fd</loader> <nvram backing='file' template='/usr/share/OVMF/OVMF_VARS.fd'>/var/lib/libvirt/nvram/guest_VARS.fd</nvram>
For network-attached storage: <loader readonly='yes' secure='no' type='rom' backing = 'network'>/usr/share/OVMF/OVMF_CODE.fd</loader>
I presume you wanted to add the <source> section here as well.
<nvram backing='network'> <source protocol='XXX' name='YYY'> <host name='x.x.x.x' port=xxxx/> </source> </nvram>
In addition to this we should also support the 'storage-source' like definition for backing='file' too:
<nvram backing='file'> <source file='/path/to/blah'/> </nvram>
Also since we'll be implementing this we should also add a format attribute so if the user wishes, the pflash drive can be backed by a qcow2 image.