Virtual guest device role tagging (partial)

Registered by Artom Lifshitz

This will provide a mechanism for the user to tag a device they have assigned to their guest with a specific role. The tag will be matched to the hardware address of the device and this mapping exposed to the guest OS via metadata service/cloud-init.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
Artom Lifshitz
Direction:
Approved
Assignee:
Artom Lifshitz
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-2
Started by
John Garbutt
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:virt-device-role-tag,n,z

Addressed by: https://review.openstack.org/234917
    WIP: Block device tagging

Addressed by: https://review.openstack.org/234904
    WIP: vNIC tagging

Gerrit topic: https://review.openstack.org/#q,topic:bp/virt-device-role-tagging,n,z

Addressed by: https://review.openstack.org/264014
    vNIC tagging: virtual interface tags DB table

Addressed by: https://review.openstack.org/264015
    vNIC tagging: metadata objects

Addressed by: https://review.openstack.org/264016
    vNIC tagging: libvirt driver implementation

Addressed by: https://review.openstack.org/264017
    vNIC tagging: compute manager nic tagging support

Addressed by: https://review.openstack.org/264018
    vNIC tagging: user visible changes

Sorry, we have now hit the Non-Priority Feature Freeze for Mitaka. For more details please see: http://docs.openstack.org/releases/schedules/mitaka.html#m-nova-npff and http://docs.openstack.org/developer/nova/process.html#non-priority-feature-freeze
--johnthetubaguy 2016.01.30

Addressed by: https://review.openstack.org/284091
    Virtual guest device role tagging

Addressed by: https://review.openstack.org/303335
    libvirt: attach configdrive after instance spawn

Addressed by: https://review.openstack.org/304147
    libvirt: New configuration classes to parse device address element

Addressed by: https://review.openstack.org/304509
    Device tagging compute API and RPCAPI support

Addressed by: https://review.openstack.org/304510
    Device tagging API support

Addressed by: https://review.openstack.org/304511
    Device tagging metadata API support

Gerrit topic: https://review.openstack.org/#q,topic:p/virt-device-role-tagging,n,z

Addressed by: https://review.openstack.org/310615
    db: adding path, serial and address fields to block devices

Addressed by: https://review.openstack.org/310616
    db: adding bus and bus_address to virtual interfaces

Addressed by: https://review.openstack.org/310617
    objects: adding serial, path, bus_address fields to bdm object

Addressed by: https://review.openstack.org/310618
    objects: adding bus and bus_address to virtual interfaces object

Addressed by: https://review.openstack.org/307028
    PCI passthrough device role tagging

Addressed by: https://review.openstack.org/316155
    trivial: Rewrap 'virt-device-role-tagging' spec

Addressed by: https://review.openstack.org/318883
    db: add a device_metadata column to instance_extra

Addressed by: https://review.openstack.org/318884
    objects: new InstanceDevicesMetadata object

Addressed by: https://review.openstack.org/327920
    objects: Add devices_metadata to instance object

Addressed by: https://review.openstack.org/331490
    Add DeviceTaggingFilter to scheduler

Addressed by: https://review.openstack.org/331889
    POC: WIP: hyper-v: device tagging

Gerrit topic: https://review.openstack.org/#q,topic:bp/bp,n,z

Addressed by: https://review.openstack.org/333781
    POC: WIP: XenAPI: device tagging

Addressed by: https://review.openstack.org/246299
    Added support for new block device format in vmops

Addressed by: https://review.openstack.org/335563
    libvirt: add todo about bdms in _build_device_metadata

Addressed by: https://review.openstack.org/335573
    Declare supports_device_tagging in all drivers

The hyper-v device tagging support patch is approved so I'm going to mark this implemented for newton. There are some wrinkles that still need support (different types of BDMs) but we can work on those in Ocata. -- mriedem 20160713

Addressed by: https://review.openstack.org/373354
    Virtual guest device role tagging

Marking this as partially complete since you can boot a server with virtual device tags, but it's not fully complete since you can't attach/detach devices with tags. That's going to be worked on in Ocata. -- mriedem 20160921

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.