ironic.api.controllers.v1.node.
BootDeviceController
[source]¶Bases: pecan.rest.RestController
get
(node_ident)[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:
|
put
(node_ident, boot_device, persistent=False)[source]¶Set the boot device for a node.
Set the boot device to use on next reboot of the node.
Parameters: |
|
---|
ironic.api.controllers.v1.node.
ConsoleInfo
(**kw)[source]¶Bases: ironic.api.controllers.base.APIBase
API representation of the console information for a node.
console_enabled
¶The console state: if the console is enabled or not.
console_info
¶The console information. It typically includes the url to access the console and the type of the application that hosts the console.
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)
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.node.
InjectNmiController
[source]¶Bases: pecan.rest.RestController
put
(node_ident)[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. |
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.
allocation_uuid
¶The UUID of the allocation this node belongs
automated_clean
¶Indicates whether the node will perform automated clean or not.
bios_interface
¶The bios interface to be used for this node
boot_interface
¶The boot interface to be used for this node
chassis_uuid
¶The UUID of the chassis this node belongs
clean_step
¶The current clean step
conductor
¶Represent the conductor currently serving the node
conductor_group
¶The conductor group to manage this node
console_enabled
¶Indicates whether the console access is enabled or disabled on the node.
console_interface
¶The console interface to be used for this node
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)
deploy_interface
¶The deploy interface to be used for this node
deploy_step
¶The current deploy step
description
¶Field for node description
driver
¶The driver responsible for controlling the node
driver_info
¶This node’s driver configuration
driver_internal_info
¶This driver’s internal configuration
extra
¶This node’s meta data
fault
¶Indicates the active fault of a node.
inspect_interface
¶The inspect interface to be used for this node
inspection_finished_at
¶The UTC date and time when the last hardware inspection finished successfully.
inspection_started_at
¶The UTC date and time when the hardware inspection was started
instance_info
¶This node’s instance info.
instance_uuid
¶The UUID of the instance in nova-compute
last_error
¶Any error from the most recent (last) asynchronous transaction that started but failed to finish.
links
¶A list containing a self link and associated node links
maintenance
¶Indicates whether the node is in maintenance mode.
maintenance_reason
¶Indicates reason for putting a node in maintenance mode.
management_interface
¶The management interface to be used for this node
name
¶The logical name for this node
network_interface
¶The network interface to be used for this node
owner
¶Field for storage of physical node owner
portgroups
¶Links to the collection of portgroups on this node
ports
¶Links to the collection of ports on this node
power_interface
¶The power interface to be used for this node
power_state
¶Represent the current (not transition) power state of the node
properties
¶The physical characteristics of this node
protected
¶Indicates whether the node is protected from undeploying/rebuilding.
protected_reason
¶Indicates reason for protecting the node.
provision_state
¶Represent the current (not transition) provision state of the node
provision_updated_at
¶The UTC date and time of the last provision state change
raid_config
¶Represents the current RAID configuration of the node
raid_interface
¶The raid interface to be used for this node
rescue_interface
¶The rescue interface to be used for this node
reservation
¶The hostname of the conductor that holds an exclusive lock on the node.
resource_class
¶The resource class for the node, useful for classifying or grouping nodes. Used, for example, to classify nodes in Nova’s placement engine.
sanitize
(fields)[source]¶Removes sensitive and unrequested data.
Will only keep the fields specified in the fields
parameter.
Parameters: | fields (list of str) – list of fields to preserve, or None to preserve them all |
---|
states
¶Links to endpoint for retrieving and setting node states
storage_interface
¶The storage interface to be used for this node
target_power_state
¶The user modified desired power state of the node.
target_provision_state
¶The user modified desired provision state of the node.
target_raid_config
¶The user modified RAID configuration of the node
traits
¶The traits associated with this node
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)
uuid
¶Unique UUID for this node
vendor_interface
¶The vendor interface to be used for this node
volume
¶Links to endpoint for retrieving volume resources on this node
ironic.api.controllers.v1.node.
NodeCollection
(**kwargs)[source]¶Bases: ironic.api.controllers.v1.collection.Collection
API representation of a collection of nodes.
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)
next
¶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)
nodes
¶A list containing nodes objects
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.node.
NodeConsoleController
[source]¶Bases: pecan.rest.RestController
ironic.api.controllers.v1.node.
NodeMaintenanceController
[source]¶Bases: pecan.rest.RestController
ironic.api.controllers.v1.node.
NodeManagementController
[source]¶Bases: pecan.rest.RestController
boot_device
= <ironic.api.controllers.v1.node.BootDeviceController object>¶Expose boot_device as a sub-element of management
inject_nmi
= <ironic.api.controllers.v1.node.InjectNmiController object>¶Expose inject_nmi as a sub-element of management
ironic.api.controllers.v1.node.
NodePatchType
(**kw)[source]¶Bases: ironic.api.controllers.v1.types.JsonPatchType
internal_attrs
()[source]¶Returns a list of internal attributes.
Internal attributes can’t be added, replaced or removed. This method may be overwritten by derived class.
op
¶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)
path
¶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)
value
¶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.node.
NodeStates
(**kw)[source]¶Bases: ironic.api.controllers.base.APIBase
API representation of the states of a node.
console_enabled
¶Indicates whether the console access is enabled or disabled on the node.
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)
last_error
¶Any error from the most recent (last) asynchronous transaction that started but failed to finish.
power_state
¶Represent the current (not transition) power state of the node
provision_state
¶Represent the current (not transition) provision state of the node
provision_updated_at
¶The UTC date and time of the last provision state change
raid_config
¶Represents the RAID configuration that the node is configured with.
target_power_state
¶The user modified desired power state of the node.
target_provision_state
¶The user modified desired provision state of the node.
target_raid_config
¶The desired RAID configuration, to be used the next time the node is configured.
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.node.
NodeStatesController
[source]¶Bases: pecan.rest.RestController
console
= <ironic.api.controllers.v1.node.NodeConsoleController object>¶Expose console as a sub-element of states
get
(node_ident)[source]¶List the states of the node.
Parameters: | node_ident – the UUID or logical_name of a node. |
---|
power
(node_ident, target, timeout=None)[source]¶Set the power state of the node.
Parameters: |
|
---|---|
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
(node_ident, target, configdrive=None, clean_steps=None, rescue_password=None)[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: |
|
---|---|
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
(node_ident, target_raid_config)[source]¶Set the target raid config of the node.
Parameters: |
|
---|---|
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. |
ironic.api.controllers.v1.node.
NodeTraitsController
(node_ident)[source]¶Bases: pecan.rest.RestController
delete
(trait=None)[source]¶Remove one or all traits from a node.
Parameters: | trait – String value; trait to remove from a node, or None. If None, all traits are removed. |
---|
put
(trait=None, traits=None)[source]¶Add a trait to a node.
Parameters: |
|
---|
ironic.api.controllers.v1.node.
NodeVIFController
(node_ident)[source]¶Bases: pecan.rest.RestController
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.
ironic.api.controllers.v1.node.
NodesController
[source]¶Bases: pecan.rest.RestController
REST controller for Nodes.
detail
(chassis_uuid=None, instance_uuid=None, associated=None, maintenance=None, provision_state=None, marker=None, limit=None, sort_key='id', sort_dir='asc', driver=None, resource_class=None, fault=None, conductor_group=None, conductor=None, owner=None, description_contains=None)[source]¶Retrieve a list of nodes with detail.
Parameters: |
|
---|
from_chassis
= False¶A flag to indicate if the requests to this controller are coming from the top-level resource Chassis
get_all
(chassis_uuid=None, instance_uuid=None, associated=None, maintenance=None, provision_state=None, marker=None, limit=None, sort_key='id', sort_dir='asc', driver=None, fields=None, resource_class=None, fault=None, conductor_group=None, detail=None, conductor=None, owner=None, description_contains=None)[source]¶Retrieve a list of nodes.
Parameters: |
|
---|
get_one
(node_ident, fields=None)[source]¶Retrieve information about the given node.
Parameters: |
|
---|
invalid_sort_key_list
= ['properties', 'driver_info', 'extra', 'instance_info', 'driver_internal_info', 'clean_step', 'deploy_step', 'raid_config', 'target_raid_config', 'traits']¶maintenance
= <ironic.api.controllers.v1.node.NodeMaintenanceController object>¶Expose maintenance as a sub-element of nodes
management
= <ironic.api.controllers.v1.node.NodeManagementController object>¶Expose management as a sub-element of nodes
patch
(node_ident, reset_interfaces=None, patch=None)[source]¶Update an existing node.
Parameters: |
|
---|
states
= <ironic.api.controllers.v1.node.NodeStatesController object>¶Expose the state controller action as a sub-element of nodes
validate
(node=None, node_uuid=None)[source]¶Validate the driver interfaces, using the node’s UUID or name.
Note that the ‘node_uuid’ interface is deprecated in favour of the ‘node’ interface
Parameters: |
|
---|
vendor_passthru
= <ironic.api.controllers.v1.node.NodeVendorPassthruController object>¶A resource used for vendors to expose a custom functionality in the API
ironic.api.controllers.v1.node.
Traits
(**kw)[source]¶Bases: ironic.api.controllers.base.APIBase
API representation of the traits for a node.
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)
traits
¶node traits
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.node.
VifCollection
(**kw)[source]¶Bases: wsme.types.Base
API representation of a collection of VIFs.
vifs
¶A list containing VIFs objects
ironic.api.controllers.v1.node.
hide_fields_in_newer_versions
(obj)[source]¶This method hides fields that were added in newer API versions.
Certain node fields were introduced at certain API versions. These fields are only made available when the request’s API version matches or exceeds the versions when these fields were introduced.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.