ironic.conductor.allocations module

Functionality related to allocations.

ironic.conductor.allocations.backfill_allocation(context, allocation, node_id)[source]

Assign the previously allocated node to the node allocation.

This is not the actual allocation process, but merely backfilling of allocation_uuid for a previously allocated node.

Parameters
  • context – an admin context

  • allocation – an allocation object associated with the node

  • node_id – An ID of the node.

Raises

AllocationFailed if the node does not match the allocation

Raises

NodeAssociated if the node is already associated with another instance or allocation.

Raises

InstanceAssociated if the allocation’s UUID is already used on another node as instance_uuid.

Raises

NodeNotFound if the node with the provided ID cannot be found.

ironic.conductor.allocations.do_allocate(context, allocation)[source]

Process the allocation.

This call runs in a separate thread on a conductor. It finds suitable nodes for the allocation and reserves one of them.

This call does not raise exceptions since it’s designed to work asynchronously.

Parameters
  • context – an admin context

  • allocation – an allocation object

ironic.conductor.allocations.verify_node_for_deallocation(node, allocation)[source]

Verify that allocation can be removed for the node.

Parameters
  • node – a node object

  • allocation – an allocation object associated with the node