ironic.api.controllers.v1.ramdisk module

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

Bases: pecan.rest.RestController

Controller handling heartbeats from deploy ramdisk.

post(node_ident, callback_url, agent_version=None, agent_token=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.

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: pecan.rest.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.

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

Bases: ironic.api.controllers.base.APIBase

API representation of the node lookup result.

config

The configuration to pass to the ramdisk.

created_at

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
node

The short node representation.

classmethod sample()[source]
updated_at

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
ironic.api.controllers.v1.ramdisk.config(token)[source]