openstack.cloud.baremetal_inspect module – Explicitly triggers baremetal node introspection in ironic.
Note
This module is part of the openstack.cloud collection (version 2.3.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install openstack.cloud
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: openstack.cloud.baremetal_inspect
.
Synopsis
Requests Ironic to set a node into inspect state in order to collect metadata regarding the node. This command may be out of band or in-band depending on the ironic driver configuration. This is only possible on nodes in ‘manageable’ and ‘available’ state.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.6
openstacksdk >= 1.0.0
Parameters
Parameter |
Comments |
---|---|
How long should the socket layer wait before timing out for API calls. If this is omitted, nothing will be passed to the requests library. |
|
Dictionary containing auth information as needed by the cloud’s auth plugin strategy. For the default password plugin, this would contain auth_url, username, password, project_name and any information about domains (for example, user_domain_name or project_domain_name) if the cloud supports them. For other plugins, this param will need to contain whatever parameters that auth plugin requires. This parameter is not needed if a named cloud is provided or OpenStack OS_* environment variables are present. |
|
Name of the auth plugin to use. If the cloud uses something other than password authentication, the name of the plugin should be indicated here and the contents of the auth parameter should be updated accordingly. |
|
A path to a CA Cert bundle that can be used as part of verifying SSL API requests. |
|
A path to a client certificate to use as part of the SSL transaction. |
|
A path to a client key to use as part of the SSL transaction. |
|
Named cloud or cloud config to operate against. If cloud is a string, it references a named cloud config as defined in an OpenStack clouds.yaml file. Provides default values for auth and auth_type. This parameter is not needed if auth is provided or if OpenStack OS_* environment variables are present. If cloud is a dict, it contains a complete cloud configuration like would be in a section of clouds.yaml. |
|
Endpoint URL type to fetch from the service catalog. Choices:
|
|
unique mac address that is used to attempt to identify the host. |
|
Name or id of the node to inspect. Mutually exclusive with mac |
|
Name of the region. |
|
Log level of the OpenStackSDK Choices:
|
|
Path to the logfile of the OpenStackSDK. If empty no log is written |
|
How long should ansible wait for the requested resource. Default: |
|
Whether or not SSL API requests should be verified. Before Ansible 2.3 this defaulted to Choices:
|
|
Should ansible wait until the requested resource is complete. Choices:
|
Notes
Note
The standard OpenStack environment variables, such as
OS_USERNAME
may be used instead of providing explicit values.Auth information is driven by openstacksdk, which means that values can come from a yaml config file in /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml or ~/.config/openstack/clouds.yaml, then from standard environment variables, then finally by explicit parameters in plays. More information can be found at https://docs.openstack.org/openstacksdk/
Examples
# Invoke node inspection
- openstack.cloud.baremetal_inspect:
name: "testnode1"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary describing the node after inspection Returned: changed |
|
The UUID of the allocation associated with the node. Returned: success |
|
The bios interface to be used for this node. Returned: success |
|
The boot interface for a Node, e.g. “pxe”. Returned: success |
|
The current boot mode state (uefi/bios). Returned: success |
|
UUID of the chassis associated with this Node. Returned: success |
|
The current clean step. Introduced with the cleaning feature. Returned: success |
|
The conductor currently servicing a node. Returned: success |
|
The conductor group for a node. Returned: success |
|
Console interface to use when working with serial console. Returned: success Sample: |
|
Timestamp at which the node was last updated. Returned: success |
|
The deploy interface for a node Returned: success Sample: |
|
The current deploy step. Returned: success |
|
The name of the driver. Returned: success |
|
All the metadata required by the driver to manage this Node. List of fields varies between drivers. Returned: success |
|
Internal metadata set and stored by the Node’s driver. Returned: success |
|
A set of one or more arbitrary metadata key and value pairs. Returned: success |
|
The fault indicates the active fault detected by ironic, typically the Node is in “maintenance mode”. None means no fault has been detected by ironic. “power failure” indicates ironic failed to retrieve power state from this node. There are other possible types, e.g., “clean failure” and “rescue abort failure”. Returned: success |
|
The UUID for the resource. Returned: success |
|
The interface used for node inspection. Returned: success Sample: |
|
UUID of the Nova instance associated with this Node. Returned: success |
|
Information used to customize the deployed image. May include root partition size, a base 64 encoded config drive, and other metadata. Note that this field is erased automatically when the instance is deleted (this is done by requesting the Node provision state be changed to DELETED). Returned: success |
|
Override enabling of automated cleaning. Returned: success |
|
Indicates whether console access is enabled or disabled on this node. Returned: success |
|
Whether or not this Node is currently in “maintenance mode”. Setting a Node into maintenance mode removes it from the available resource pool and halts some internal automation. This can happen manually (eg, via an API request) or automatically when Ironic detects a hardware fault that prevents communication with the machine. Returned: success |
|
Whether the node is protected from undeploying, rebuilding and deletion. Returned: success |
|
Whether the node is marked for retirement. Returned: success |
|
Whether the node is currently booted with secure boot turned on. Returned: success |
|
Any error from the most recent (last) transaction that started but failed to finish. Returned: success |
|
A list of relative links. Includes the self and bookmark links. Returned: success |
|
User-settable description of the reason why this Node was placed into maintenance mode. Returned: success |
|
Interface for out-of-band node management. Returned: success Sample: |
|
Human-readable identifier for the Node resource. Certain words are reserved. Returned: success |
|
Which Network Interface provider to use when plumbing the network connections for this Node. Returned: success |
|
A string or UUID of the tenant who owns the object. Returned: success |
|
Links to the collection of portgroups on this node. Returned: success |
|
Links to the collection of ports on this node Returned: success |
|
Interface used for performing power actions on the node. Returned: success Sample: |
|
The current power state of this Node. Usually, “power on” or “power off”, but may be “None” if Ironic is unable to determine the power state (eg, due to hardware failure). Returned: success |
|
Properties of the node as found by inspection Returned: success |
|
Detected CPU architecture type Returned: success Sample: |
|
Count of cpu cores defined in the updated node properties. Returned: success Sample: |
|
Total size of local disk storage as updated in node properties. Returned: success Sample: |
|
Amount of node memory as updated in the node properties Returned: success Sample: |
|
The reason the node is marked as protected. Returned: success |
|
The current provisioning state of this Node. Returned: success |
|
Represents the current RAID configuration of the node. Introduced with the cleaning feature. Returned: success |
|
Interface used for configuring RAID on this node. Returned: success Sample: |
|
The interface used for node rescue. Returned: success Sample: |
|
The name of an Ironic Conductor host which is holding a lock on this node, if a lock is held. Usually “null”, but this field can be useful for debugging. Returned: success |
|
A string which can be used by external schedulers to identify this Node as a unit of a specific type of resource. Returned: success |
|
TODO Returned: success |
|
Links to the collection of states. Note that this resource is also used to request state transitions. Returned: success |
|
Interface used for attaching and detaching volumes on this node, e.g. “cinder”. Returned: success |
|
If a power state transition has been requested, this field represents the requested (ie, “target”) state, either “power on” or “power off”. Returned: success |
|
If a provisioning action has been requested, this field represents the requested (ie, “target”) state. Note that a Node may go through several states during its transition to this target state. For instance, when requesting an instance be deployed to an AVAILABLE Node, the Node may go through the following state change progression: AVAILABLE -> DEPLOYING -> DEPLOYWAIT -> DEPLOYING -> ACTIVE. Returned: success |
|
Represents the requested RAID configuration of the node, which will be applied when the Node next transitions through the CLEANING state. Introduced with the cleaning feature. Returned: success |
|
List of traits for this node. Returned: success |
|
TODO Returned: success |
|
Interface for vendor-specific functionality on this node, e.g. “no-vendor”. Returned: success |