openstack.cloud.baremetal_inspect 模块 – 在 ironic 中显式触发裸机节点自检。

注意

此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install openstack.cloud。您需要进一步的要求才能使用此模块,请参阅 要求 以获取详细信息。

要在 playbook 中使用它,请指定:openstack.cloud.baremetal_inspect

概要

  • 请求 Ironic 将节点设置为检查状态,以便收集有关节点的元数据。此命令可能是带外或带内的,具体取决于 Ironic 驱动程序配置。这仅在“可管理”和“可用”状态的节点上才有可能。

要求

在执行此模块的主机上需要以下要求。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

套接字层在 API 调用超时之前应该等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。

auth

字典

包含云的身份验证插件策略所需的身份验证信息的字典。对于默认的 password 插件,这将包含 auth_urlusernamepasswordproject_name 以及有关域的任何信息(例如,user_domain_nameproject_domain_name),如果云支持它们的话。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

要使用的身份验证插件的名称。如果云使用密码身份验证以外的其他内容,则应在此处指示插件的名称,并相应地更新 auth 参数的内容。

ca_cert

别名:cacert

字符串

可以作为验证 SSL API 请求一部分的 CA 证书包的路径。

client_cert

别名:cert

字符串

要用作 SSL 事务一部分的客户端证书的路径。

client_key

别名:key

字符串

要用作 SSL 事务一部分的客户端密钥的路径。

cloud

任何

要操作的命名云或云配置。如果 cloud 是一个字符串,则它引用 OpenStack clouds.yaml 文件中定义的命名云配置。为 authauth_type 提供默认值。如果提供了 auth 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 cloud 是一个字典,则它包含一个完整的云配置,就像在 clouds.yaml 的一个部分中一样。

interface

别名:endpoint_type

字符串

要从服务目录中获取的端点 URL 类型。

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

mac

字符串

用于尝试识别主机的唯一 MAC 地址。

name

别名:id, uuid

字符串

要检查的节点的名称或 ID。

mac 互斥

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

OpenStackSDK 的日志文件的路径。如果为空,则不写入日志

timeout

整数

Ansible 应该等待请求的资源多长时间。

默认值: 180

validate_certs

别名:verify

布尔值

是否应验证 SSL API 请求。

在 Ansible 2.3 之前,此项默认为 true

选项

  • false

  • true

wait

布尔值

Ansible 是否应等待直到请求的资源完成。

选项

  • false

  • true ← (默认)

备注

注意

  • 可以使用标准的 OpenStack 环境变量,例如 OS_USERNAME,而无需提供显式值。

  • 身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自剧本中的显式参数。更多信息可以在 https://docs.openstack.org/openstacksdk/ 中找到

示例

# Invoke node inspection
- openstack.cloud.baremetal_inspect:
    name: "testnode1"

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

节点

字典

一个描述检查后节点的字典

返回: changed

allocation_id

字符串

与节点关联的分配的 UUID。

返回: success

bios_interface

字符串

此节点要使用的 bios 接口。

返回: success

boot_interface

字符串

节点的引导接口,例如 “pxe”。

返回: success

boot_mode

字符串

当前的启动模式状态(uefi/bios)。

返回: success

chassis_id

字符串

与此节点关联的机箱的 UUID。

返回: success

clean_step

字符串

当前清理步骤。随着清理功能的引入。

返回: success

conductor

字符串

当前为节点提供服务的 conductor。

返回: success

conductor_group

字符串

节点的 conductor 组。

返回: success

console_interface

字符串

使用串行控制台时的控制台接口。

返回: success

示例: "no-console"

created_at

字符串

上次更新节点的时间戳。

返回: success

deploy_interface

字符串

节点的部署接口

返回: success

示例: "iscsi"

deploy_step

字符串

当前部署步骤。

返回: success

driver

字符串

驱动程序的名称。

返回: success

driver_info

字典

驱动程序管理此节点所需的所有元数据。字段列表因驱动程序而异。

返回: success

driver_internal_info

字典

由节点的驱动程序设置和存储的内部元数据。

返回: success

extra

字典

一组或多组任意元数据键值对。

返回: success

fault

字符串

故障表示 ironic 检测到的活动故障,通常节点处于“维护模式”。None 表示 ironic 未检测到故障。“电源故障”表示 ironic 未能从此节点检索电源状态。还有其他可能的类型,例如“清理失败”和“救援中止失败”。

返回: success

id

字符串

资源的 UUID。

返回: success

inspect_interface

字符串

用于节点检查的接口。

返回: success

示例: "no-inspect"

instance_id

字符串

与此节点关联的 Nova 实例的 UUID。

返回: success

instance_info

字典

用于自定义已部署映像的信息。可能包括根分区大小、base64 编码的配置驱动器和其他元数据。请注意,当实例被删除时,此字段会自动清除(这是通过请求将节点的配置状态更改为 DELETED 来完成的)。

返回: success

is_automated_clean_enabled

布尔值

覆盖启用自动清理。

返回: success

is_console_enabled

布尔值

指示在此节点上是否启用或禁用控制台访问。

返回: success

is_maintenance

布尔值

此节点当前是否处于“维护模式”。将节点置于维护模式会将其从可用资源池中删除并停止某些内部自动化。这可以手动完成(例如,通过 API 请求)或在 Ironic 检测到阻止与机器通信的硬件故障时自动完成。

返回: success

is_protected

布尔值

是否保护节点免受取消部署、重建和删除的影响。

返回: success

is_retired

布尔值

是否将节点标记为退役。

返回: success

is_secure_boot

布尔值

节点当前是否以启用的安全启动方式启动。

返回: success

last_error

字符串

来自最近(最后)开始但未能完成的交易的任何错误。

返回: success

list / elements=string

相对链接的列表。包括 self 和 bookmark 链接。

返回: success

maintenance_reason

字符串

用户可设置的描述此节点为何被置于维护模式的原因。

返回: success

management_interface

字符串

用于带外节点管理的接口。

返回: success

示例: "ipmitool"

name

字符串

节点资源的人类可读标识符。某些单词是保留的。

返回: success

network_interface

字符串

在为此节点连接网络时要使用的网络接口提供程序。

返回: success

owner

字符串

拥有该对象的租户的字符串或 UUID。

返回: success

port_groups

list / elements=string

指向此节点上端口组集合的链接。

返回: success

ports

list / elements=string

指向此节点上端口集合的链接

返回: success

power_interface

字符串

用于对节点执行电源操作的接口。

返回: success

示例: "ipmitool"

power_state

字符串

此节点的当前电源状态。通常为“power on”或“power off”,但如果 Ironic 无法确定电源状态(例如,由于硬件故障),则可能为“None”。

返回: success

properties

字典

检查发现的节点属性

返回: success

cpu_arch

字符串

检测到的 CPU 架构类型

返回: success

示例: "x86_64"

cpus

字符串

更新的节点属性中定义的 CPU 核心数。

返回: success

示例: "1"

local_gb

字符串

在节点属性中更新的本地磁盘存储的总大小。

返回: success

示例: "10"

memory_mb

字符串

在节点属性中更新的节点内存量

返回: success

示例: "1024"

protected_reason

字符串

节点被标记为受保护的原因。

返回: success

provision_state

字符串

此节点的当前配置状态。

返回: success

raid_config

字典

表示节点的当前 RAID 配置。随着清理功能的引入。

返回: success

raid_interface

字符串

用于在此节点上配置 RAID 的接口。

返回: success

示例: "no-raid"

rescue_interface

字符串

用于节点救援的接口。

返回: success

示例: "no-rescue"

reservation

字符串

如果持有锁,则是在此节点上持有锁的 Ironic Conductor 主机的名称。通常为“null”,但此字段可用于调试。

返回: success

resource_class

字符串

一个字符串,外部调度程序可以使用它来将此节点标识为特定类型资源的单元。

返回: success

retired_reason

字符串

待办

返回: success

states

list / elements=string

指向状态集合的链接。请注意,此资源也用于请求状态转换。

返回: success

storage_interface

字符串

用于在此节点上附加和分离卷的接口,例如“cinder”。

返回: success

target_power_state

字符串

如果已请求电源状态转换,则此字段表示请求的(即“目标”)状态,即“power on”或“power off”。

返回: success

target_provision_state

字符串

如果已请求配置操作,则此字段表示请求的(即“目标”)状态。请注意,节点在其转换到此目标状态期间可能会经历多个状态。例如,当请求将实例部署到 AVAILABLE 节点时,节点可能会经历以下状态更改过程:AVAILABLE -> DEPLOYING -> DEPLOYWAIT -> DEPLOYING -> ACTIVE。

返回: success

target_raid_config

字典

表示节点的请求 RAID 配置,该配置将在节点下次转换到 CLEANING 状态时应用。随着清理功能的引入。

返回: success

traits

list / elements=string

此节点的特征列表。

返回: success

updated_at

字符串

待办

返回: success

vendor_interface

字符串

此节点上供应商特定功能的接口,例如“no-vendor”。

返回: success

作者

  • OpenStack Ansible SIG