Support force_nodes for baremetal provisioning

Registered by aeva black

With the baremetal driver, force_hosts is not sufficient since the compute host is actually controlling other physical nodes. We need a way to force which baremetal node is provisioned.

The current implementation of force_hosts is done by passing --availability_zone az:host. It seems appropriate to extend this to also support az:host:node. This will require a small change in nova/compute/api.py: _handle_availability_zone and _validate_and_provision_instance to parse host:node. It will probably require much larger changes in the host_manager, filters, and elsewhere to handle the inclusion of nodes.

However, this approach requires that the operator knows which baremetal compute host controls the desired baremetal node, and I would like to avoid that. In order to do that, nodes need to be identified by uuid rather than host:number.

Blueprint information

Status:
Complete
Approver:
Russell Bryant
Priority:
Medium
Drafter:
aeva black
Direction:
Approved
Assignee:
aeva black
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
aeva black
Completed by
aeva black

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:force-node,n,z

Addressed by: https://review.openstack.org/27824
    Add force_nodes to scheduler hints

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.