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
feedback.

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

Cheers!

[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

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to