The ironic.objects.node
Module¶
-
class
ironic.objects.node.
Node
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.base.IronicObject
,oslo_versionedobjects.base.VersionedObjectDictCompat
-
create
(context=None)[source]¶ Create a Node record in the DB.
Column-wise updates will be made based on the result of self.what_changed(). If target_power_state is provided, it will be checked against the in-database copy of the node before updates are made.
Parameters: context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Node(context) Raises: InvalidParameterValue if some property values are invalid.
-
destroy
(context=None)[source]¶ Delete the Node from the DB.
Parameters: context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Node(context)
-
classmethod
get
(context, node_id)[source]¶ Find a node based on its id or uuid and return a Node object.
Parameters: node_id – the id or uuid of a node. Returns: a Node
object.
-
classmethod
get_by_id
(context, node_id)[source]¶ Find a node based on its integer id and return a Node object.
Parameters: node_id – the id of a node. Returns: a Node
object.
-
classmethod
get_by_instance_uuid
(context, instance_uuid)[source]¶ Find a node based on the instance uuid and return a Node object.
Parameters: uuid – the uuid of the instance. Returns: a Node
object.
-
classmethod
get_by_name
(context, name)[source]¶ Find a node based on name and return a Node object.
Parameters: name – the logical name of a node. Returns: a Node
object.
-
classmethod
get_by_port_addresses
(context, addresses)[source]¶ Get a node by associated port addresses.
Parameters: - context – Security context.
- addresses – A list of port addresses.
Raises: NodeNotFound if the node is not found.
Returns: a
Node
object.
-
classmethod
get_by_uuid
(context, uuid)[source]¶ Find a node based on uuid and return a Node object.
Parameters: uuid – the uuid of a node. Returns: a Node
object.
-
classmethod
list
(context, limit=None, marker=None, sort_key=None, sort_dir=None, filters=None)[source]¶ Return a list of Node objects.
Parameters: - context – Security context.
- limit – maximum number of resources to return in a single result.
- marker – pagination marker for large data sets.
- sort_key – column to sort results by.
- sort_dir – direction to sort. “asc” or “desc”.
- filters – Filters to apply.
Returns: a list of
Node
object.
-
refresh
(context=None)[source]¶ Refresh the object by re-fetching from the DB.
Parameters: context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Node(context)
-
classmethod
release
(context, tag, node_id)[source]¶ Release the reservation on a node.
Parameters: - context – Security context.
- tag – A string uniquely identifying the reservation holder.
- node_id – A node id or uuid.
Raises: NodeNotFound if the node is not found.
-
classmethod
reserve
(context, tag, node_id)[source]¶ Get and reserve a node.
To prevent other ManagerServices from manipulating the given Node while a Task is performed, mark it reserved by this host.
Parameters: - context – Security context.
- tag – A string uniquely identifying the reservation holder.
- node_id – A node id or uuid.
Raises: NodeNotFound if the node is not found.
Returns: a
Node
object.
-
save
(context=None)[source]¶ Save updates to this Node.
Column-wise updates will be made based on the result of self.what_changed(). If target_power_state is provided, it will be checked against the in-database copy of the node before updates are made.
Parameters: context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Node(context) Raises: InvalidParameterValue if some property values are invalid.
-
-
class
ironic.objects.node.
NodeCRUDNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification emitted when ironic creates, updates or deletes a node.
-
class
ironic.objects.node.
NodeCRUDPayload
(node, chassis_uuid)[source]¶ Bases:
ironic.objects.node.NodePayload
Payload schema for when ironic creates, updates or deletes a node.
-
class
ironic.objects.node.
NodeConsoleNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification emitted when node console state changed.
-
class
ironic.objects.node.
NodeCorrectedPowerStateNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification for when a node’s power state is corrected in the database.
This notification is emitted when ironic detects that the actual power state on a bare metal hardware is different from the power state on an ironic node (DB). This notification is emitted after the database is updated to reflect this correction.
-
class
ironic.objects.node.
NodeCorrectedPowerStatePayload
(node, from_power)[source]¶ Bases:
ironic.objects.node.NodePayload
Notification payload schema for when a node’s power state is corrected.
“from_power” indicates the previous power state on the ironic node before the node was updated.
-
class
ironic.objects.node.
NodeMaintenanceNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification emitted when maintenance state changed via API.
-
class
ironic.objects.node.
NodePayload
(node, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationPayloadBase
Base class used for all notification payloads about a Node object.
-
class
ironic.objects.node.
NodeSetPowerStateNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification emitted when ironic changes a node’s power state.
-
class
ironic.objects.node.
NodeSetPowerStatePayload
(node, to_power)[source]¶ Bases:
ironic.objects.node.NodePayload
Payload schema for when ironic changes a node’s power state.
-
class
ironic.objects.node.
NodeSetProvisionStateNotification
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.notification.NotificationBase
Notification emitted when ironic changes a node provision state.
-
class
ironic.objects.node.
NodeSetProvisionStatePayload
(node, prev_state, prev_target, event)[source]¶ Bases:
ironic.objects.node.NodePayload
Payload schema for when ironic changes a node provision state.