The ironic.api.controllers.v1.node
Module¶
-
class
ironic.api.controllers.v1.node.
BootDeviceController
[source]¶ Bases:
pecan.rest.RestController
-
get
(*args, **kwargs)[source]¶ Get the current boot device for a node.
Parameters: node_ident – the UUID or logical name of a node. Returns: a json object containing: boot_device: the boot device, one of ironic.common.boot_devices
or None if it is unknown.persistent: Whether the boot device will persist to all future boots or not, None if it is unknown.
-
put
(*args, **kwargs)[source]¶ Set the boot device for a node.
Set the boot device to use on next reboot of the node.
Parameters: - node_ident – the UUID or logical name of a node.
- boot_device – the boot device, one of
ironic.common.boot_devices
. - persistent – Boolean value. True if the boot device will persist to all future boots, False if not. Default: False.
-
-
class
ironic.api.controllers.v1.node.
ConsoleInfo
(**kw)[source]¶ Bases:
ironic.api.controllers.base.APIBase
API representation of the console information for a node.
-
class
ironic.api.controllers.v1.node.
InjectNmiController
[source]¶ Bases:
pecan.rest.RestController
-
put
(*args, **kwargs)[source]¶ Inject NMI for a node.
Inject NMI (Non Maskable Interrupt) for a node immediately.
Parameters: node_ident – the UUID or logical name of a node. Raises: NotFound if requested version of the API doesn’t support inject nmi. Raises: HTTPForbidden if the policy is not authorized. Raises: NodeNotFound if the node is not found. Raises: NodeLocked if the node is locked by another conductor. Raises: UnsupportedDriverExtension if the node’s driver doesn’t support management or management.inject_nmi. Raises: InvalidParameterValue when the wrong driver info is specified or an invalid boot device is specified. Raises: MissingParameterValue if missing supplied info.
-
-
class
ironic.api.controllers.v1.node.
Node
(**kwargs)[source]¶ Bases:
ironic.api.controllers.base.APIBase
API representation of a bare metal node.
This class enforces type checking and value constraints, and converts between the internal object model and the API representation of a node.
-
class
ironic.api.controllers.v1.node.
NodeCollection
(**kwargs)[source]¶ Bases:
ironic.api.controllers.v1.collection.Collection
API representation of a collection of nodes.
-
class
ironic.api.controllers.v1.node.
NodeConsoleController
[source]¶ Bases:
pecan.rest.RestController
-
class
ironic.api.controllers.v1.node.
NodeMaintenanceController
[source]¶ Bases:
pecan.rest.RestController
-
class
ironic.api.controllers.v1.node.
NodeManagementController
[source]¶ Bases:
pecan.rest.RestController
-
class
ironic.api.controllers.v1.node.
NodeStates
(**kw)[source]¶ Bases:
ironic.api.controllers.base.APIBase
API representation of the states of a node.
-
class
ironic.api.controllers.v1.node.
NodeStatesController
[source]¶ Bases:
pecan.rest.RestController
-
get
(*args, **kwargs)[source]¶ List the states of the node.
Parameters: node_ident – the UUID or logical_name of a node.
-
power
(*args, **kwargs)[source]¶ Set the power state of the node.
Parameters: - node_ident – the UUID or logical name of a node.
- target – The desired power state of the node.
- timeout – timeout (in seconds) positive integer (> 0) for any
power state.
None
indicates to use default timeout.
Raises: ClientSideError (HTTP 409) if a power operation is already in progress.
Raises: InvalidStateRequested (HTTP 400) if the requested target state is not valid or if the node is in CLEANING state.
Raises: NotAcceptable (HTTP 406) for soft reboot, soft power off or timeout parameter, if requested version of the API is less than 1.27.
Raises: Invalid (HTTP 400) if timeout value is less than 1.
-
provision
(*args, **kwargs)[source]¶ Asynchronous trigger the provisioning of the node.
This will set the target provision state of the node, and a background task will begin which actually applies the state change. This call will return a 202 (Accepted) indicating the request was accepted and is in progress; the client should continue to GET the status of this node to observe the status of the requested action.
Parameters: - node_ident – UUID or logical name of a node.
- target – The desired provision state of the node or verb.
- configdrive – Optional. A gzipped and base64 encoded configdrive. Only valid when setting provision state to “active”.
- clean_steps –
An ordered list of cleaning steps that will be performed on the node. A cleaning step is a dictionary with required keys ‘interface’ and ‘step’, and optional key ‘args’. If specified, the value for ‘args’ is a keyword variable argument dictionary that is passed to the cleaning step method.:
{ 'interface': <driver_interface>, 'step': <name_of_clean_step>, 'args': {<arg1>: <value1>, ..., <argn>: <valuen>} }
For example (this isn’t a real example, this cleaning step doesn’t exist):
{ 'interface': 'deploy', 'step': 'upgrade_firmware', 'args': {'force': True} }
This is required (and only valid) when target is “clean”.
Raises: NodeLocked (HTTP 409) if the node is currently locked.
Raises: ClientSideError (HTTP 409) if the node is already being provisioned.
Raises: InvalidParameterValue (HTTP 400), if validation of clean_steps or power driver interface fails.
Raises: InvalidStateRequested (HTTP 400) if the requested transition is not possible from the current state.
Raises: NodeInMaintenance (HTTP 400), if operation cannot be performed because the node is in maintenance mode.
Raises: NoFreeConductorWorker (HTTP 503) if no workers are available.
Raises: NotAcceptable (HTTP 406) if the API version specified does not allow the requested state transition.
-
raid
(*args, **kwargs)[source]¶ Set the target raid config of the node.
Parameters: - node_ident – the UUID or logical name of a node.
- target_raid_config – Desired target RAID configuration of the node. It may be an empty dictionary as well.
Raises: UnsupportedDriverExtension, if the node’s driver doesn’t support RAID configuration.
Raises: InvalidParameterValue, if validation of target raid config fails.
Raises: NotAcceptable, if requested version of the API is less than 1.12.
-
-
class
ironic.api.controllers.v1.node.
NodeVIFController
(node_ident)[source]¶ Bases:
pecan.rest.RestController
-
class
ironic.api.controllers.v1.node.
NodeVendorPassthruController
[source]¶ Bases:
pecan.rest.RestController
REST controller for VendorPassthru.
This controller allow vendors to expose a custom functionality in the Ironic API. Ironic will merely relay the message from here to the appropriate driver, no introspection will be made in the message body.
-
class
ironic.api.controllers.v1.node.
NodesController
[source]¶ Bases:
pecan.rest.RestController
REST controller for Nodes.
-
delete
(*args, **kwargs)[source]¶ Delete a node.
Parameters: node_ident – UUID or logical name of a node.
-
detail
(*args, **kwargs)[source]¶ Retrieve a list of nodes with detail.
Parameters: - chassis_uuid – Optional UUID of a chassis, to get only nodes for that chassis.
- instance_uuid – Optional UUID of an instance, to find the node associated with that instance.
- associated – Optional boolean whether to return a list of associated or unassociated nodes. May be combined with other parameters.
- maintenance – Optional boolean value that indicates whether to get nodes in maintenance mode (“True”), or not in maintenance mode (“False”).
- provision_state – Optional string value to get only nodes in that provision state.
- marker – pagination marker for large data sets.
- limit – maximum number of resources to return in a single result. This value cannot be larger than the value of max_limit in the [api] section of the ironic configuration, or only max_limit resources will be returned.
- sort_key – column to sort results by. Default: id.
- sort_dir – direction to sort. “asc” or “desc”. Default: asc.
- driver – Optional string value to get only nodes using that driver.
- resource_class – Optional string value to get only nodes with that resource_class.
-
get_all
(*args, **kwargs)[source]¶ Retrieve a list of nodes.
Parameters: - chassis_uuid – Optional UUID of a chassis, to get only nodes for that chassis.
- instance_uuid – Optional UUID of an instance, to find the node associated with that instance.
- associated – Optional boolean whether to return a list of associated or unassociated nodes. May be combined with other parameters.
- maintenance – Optional boolean value that indicates whether to get nodes in maintenance mode (“True”), or not in maintenance mode (“False”).
- provision_state – Optional string value to get only nodes in that provision state.
- marker – pagination marker for large data sets.
- limit – maximum number of resources to return in a single result. This value cannot be larger than the value of max_limit in the [api] section of the ironic configuration, or only max_limit resources will be returned.
- sort_key – column to sort results by. Default: id.
- sort_dir – direction to sort. “asc” or “desc”. Default: asc.
- driver – Optional string value to get only nodes using that driver.
- resource_class – Optional string value to get only nodes with that resource_class.
- fields – Optional, a list with a specified set of fields of the resource to be returned.
-
get_one
(*args, **kwargs)[source]¶ Retrieve information about the given node.
Parameters: - node_ident – UUID or logical name of a node.
- fields – Optional, a list with a specified set of fields of the resource to be returned.
-