image metadata prefiltering

Registered by sean mooney on 2019-03-25

Nova support specifying hyperviors sepcific device model via image properties.
Today when such properties are set on an image they are not considered when
scheduling unless the operator manually configures the ImagePropertiesFilter.
If the operator does not configure the ImagePropertiesFilter and an instance
is scheduled to a host that cannot support the requested device model a late
check in the virt driver will fail the spawn and trigger a reschedule.
If only a subset of hosts can support the requested device model this
frequently results in a ``No valid host`` error.

This proposal suggests using standardised traits and placement to address device
model compatibility by extending existing virt drivers to declare the
device models they support as traits.

Blueprint information

Status:
Started
Approver:
None
Priority:
Low
Drafter:
sean mooney
Direction:
Approved
Assignee:
sean mooney
Definition:
Pending Approval
Series goal:
Accepted for ussuri
Implementation:
Needs Code Review
Milestone target:
None
Started by
Matt Riedemann on 2019-06-20

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:image-metadata-prefiltering,n,z

Addressed by: https://review.openstack.org/647578
    add spec for image metadata prefiltering

Gerrit topic: https://review.openstack.org/#/q/topic:bp/image-metadata-prefiltering

Addressed by: https://review.openstack.org/652101
    Updates to image-metadata-prefiltering spec

Gerrit topic: https://review.opendev.org/#/q/topic:bp/image-metadata-prefiltering

Addressed by: https://review.opendev.org/665775
    create initial image metadata prefilter

Addressed by: https://review.opendev.org/665844
    add StorageTransform class to prefilter

Addressed by: https://review.opendev.org/666914
    [WIP] Libvirt: report storage bus traits

Addressed by: https://review.opendev.org/666915
    [WIP] use domain capablites to get supported device models

Gerrit topic: https://review.opendev.org/#/q/topic:get_domain_capabilities

Addressed by: https://review.opendev.org/670189
    libvirt: harden get_domain_capabilities

[efried 20190905] Agreed to defer this to ussuri to make room for other conflicting patches that are "closer".

Addressed by: https://review.opendev.org/683258
    resubmit image metadata prefiltering spec for ussuri

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.