Hi all,

I'm new to this mailing list :)

I am currently working on the Snabbswitch project < 
https://github.com/SnabbCo/snabbswitch/wiki >. We are developing an OpenStack 
Neutron plugin (targeting Icehouse release). Snabbswitch makes use of an 
experimental patch to QEMU (not merged to mainline yet) that adds support for a 
user-space PCI device. This device is not supported by the libvirt XML (yet). 
So, in order to use this feature, some command line arguments will have to be 
passed to QEMU when booting an instance.

Therefore, I'd like to make a proposal for enabling a libvirt feature: 
pass-through of QEMU command line args < 
http://libvirt.org/drvqemu.html#qemucommand >. This will allow us to boot 
instances with the necessary QEMU command line arguments.

Now regarding the implementation of this feature, currently the plan is as 
follows:

1. Add metadata when creating an instance using the nova boot API. For e.g.: 
libvirt_qemu_cli_args=["-arg1", "-arg2"]

2. The libvirt driver will process the instance's metadata and generate the 
necessary XML (for the instance's libvirt.xml). For e.g.:
````
<domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
...
<qemu:commandline>
   <qemu:arg>-arg1</qemu:arg>
   <qemu:arg>-arg2</qemu:arg>
</qemu:commandline>
...
</domain>
````

I'd love to get some feedback regarding the above proposal.
Also, are there any specific requirements for making a Nova Blueprint (i.e., 
equivalent of < https://wiki.openstack.org/wiki/Neutron/BlueprintTemplate > )?

We would like to have this feature included in Icehouse release.

Thanks in advance.

Regards,
Rahul

_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to