The ironic.api.controllers.v1.ramdisk Module

The ironic.api.controllers.v1.ramdisk Module

class ironic.api.controllers.v1.ramdisk.HeartbeatController[source]

Bases: pecan.rest.RestController

Controller handling heartbeats from deploy ramdisk.

post(*args, **kwargs)[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.
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[source]

Bases: pecan.rest.RestController

Controller handling node lookup for a deploy ramdisk.

get_all(*args, **kwargs)[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.

class ironic.api.controllers.v1.ramdisk.LookupResult(**kw)[source]

Bases: ironic.api.controllers.base.APIBase

API representation of the node lookup result.

classmethod sample()[source]
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.