[openstack-dev] [Nova] Virt device role tagging for other virt drivers

Artom Lifshitz alifshit at redhat.com
Wed Jun 15 14:28:45 UTC 2016

Hey folks,

For a while now we've been working on virt device role tagging.

The full spec is here [1], but the quick gist of it is that device
tagging is a way for the user to assign arbitrary string tags to
either vNICs or block devices. Those tags then get exposed by the
metadata API to the guest, along with other device metadata such as
bus and address, for example PCI 0000:00:02.0.

This work is being done for the libvirt driver, and we would obviously
love it if other drivers implemented the functionality. This email is
meant to get this cooperation started.

A good starting point for developers of other drivers is our own
libvirt implementation [2]. The basic idea is that we use new objects
from [3] to build the metadata hierarchy. The hierarchy is then saved
in the database in the instance_extra table, of which you can see the
details here [4]. This is pretty much the only functionality that
other virt drivers would need to implement. Everything else (API,
metadata API) is being handled by us, though of course we welcome your

I hope I've been concise yet complete. If you have any questions don't
hesitate to ask either vladikr or artom on IRC.


[1] http://specs.openstack.org/openstack/nova-specs/specs/newton/approved/virt-device-role-tagging.html
[2] https://review.openstack.org/#/c/264016/42/nova/virt/libvirt/driver.py
[3] https://github.com/openstack/nova/blob/master/nova/objects/virt_device_metadata.py
[4] https://review.openstack.org/#/c/327920/

Artom Lifshitz

More information about the OpenStack-dev mailing list