ironic.api.controllers.v1.ramdisk module

class ironic.api.controllers.v1.ramdisk.ContinueInspectionController(*args, **kwargs)[source]

Bases: RestController

Controller handling inspection data from deploy ramdisk.

post(data, node_uuid=None)[source]

Process a introspection data from the deploy ramdisk.

Parameters:
  • data – Introspection data.

  • node_uuid – UUID of a node.

Raises:

InvalidParameterValue if node_uuid is a valid UUID.

Raises:

NoValidHost if RPC topic for node could not be retrieved.

Raises:

NotFound if requested API version does not allow this endpoint or if lookup fails.

class ironic.api.controllers.v1.ramdisk.HeartbeatController(*args, **kwargs)[source]

Bases: RestController

Controller handling heartbeats from deploy ramdisk.

post(node_ident, callback_url, agent_version=None, agent_token=None, agent_verify_ca=None, agent_status=None, agent_status_message=None)[source]

Process a heartbeat from the deploy ramdisk.

Parameters:
  • node_ident – the UUID or logical name of a node.

  • callback_url – the URL to reach back to the ramdisk.

  • agent_version – The version of the agent that is heartbeating. None indicates that the agent that is heartbeating is a version before sending agent_version was introduced so agent v3.0.0 (the last release before sending agent_version was introduced) will be assumed.

  • agent_token – randomly generated validation token.

  • agent_verify_ca – TLS certificate to use to connect to the agent.

  • agent_status – Current status of the heartbeating agent. Used by anaconda ramdisk to send status back to Ironic. The valid states are ‘start’, ‘end’, ‘error’

  • agent_status_message – Optional status message describing current agent_status

Raises:

NodeNotFound if node with provided UUID or name was not found.

Raises:

InvalidUuidOrName if node_ident is not valid name or UUID.

Raises:

NoValidHost if RPC topic for node could not be retrieved.

Raises:

NotFound if requested API version does not allow this endpoint.

class ironic.api.controllers.v1.ramdisk.LookupController(*args, **kwargs)[source]

Bases: RestController

Controller handling node lookup for a deploy ramdisk.

get_all(addresses=None, node_uuid=None)[source]

Look up a node by its MAC addresses and optionally UUID.

If the “restrict_lookup” option is set to True (the default), limit the search to nodes in certain transient states (e.g. deploy wait).

Parameters:
  • addresses – list of MAC addresses for a node.

  • node_uuid – UUID of a node.

Raises:

NotFound if requested API version does not allow this endpoint.

Raises:

NotFound if suitable node was not found or node’s provision state is not allowed for the lookup.

Raises:

IncompleteLookup if neither node UUID nor any valid MAC address was provided.

lookup_allowed(node)[source]
ironic.api.controllers.v1.ramdisk.config(token)[source]
ironic.api.controllers.v1.ramdisk.get_valid_mac_addresses(addresses, node_uuid=None)[source]