node-extra-as-host-states-capability

Registered by Kanagaraj Manickam

Ironic node capability and make it available to user for instance provisioning
 In the Ironic icehouse, the node REST API is provided with node specific properties where CPU, RAM disk size are created. Its also provided with 'extra' parameter.

Approach #1: Using new ironic node filter
This parameter could be exposed via host_states and the same could be used for scheduling by using existing capability filter introducing the node specific filters as follows:
 Node { 'extra': {'product_id':'proliant id'}
 This will be exposed in the ironic.driver._node_resource(), as dict ('extra'=node.extra) and this dict could be consumed in the scheduler driver say moonshot_driver.
 Finally, user could request for the given product_id by adding the pre-defined extra-spec say 'node-extra:product_id' and this will be used by the above mentioned scheduler driver for selecting the node.

Approach #2: using existing nova scheduler capability filter:
1. While registering a node in ironic, it could set the node.extra as follow with pre-defined word 'capabliity' of having key value pair.
{ 'capablity': {'product_id':'proliant id'}
2. irnoic driver will expose this node's extra capability as part of host_state.

NOTE: This approach will be having very minimal code change in ironic driver.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Kanagaraj Manickam
Direction:
Needs approval
Assignee:
Kanagaraj Manickam
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
aeva black

Related branches

Sprints

Whiteboard

This is now possible with the node.properties{'capabilities'} parameter and the compute capabilities filter. I am closing this blueprint since its goal has been accomplished by other means.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.