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