openstack.cloud.baremetal_node 模块 – 从 OpenStack 创建/删除裸机资源
注意
此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install openstack.cloud
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:openstack.cloud.baremetal_node
。
概要
从 OpenStack 创建或删除 Ironic 节点。
要求
执行此模块的主机需要以下要求。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。 |
|
包含云身份验证插件策略所需的身份验证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及有关域的任何信息(例如,*user_domain_name* 或 *project_domain_name*),如果云支持它们。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了命名的云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的身份验证插件的名称。如果云使用密码身份验证以外的其他身份验证,则应在此处指示插件的名称,并且应相应地更新 *auth* 参数的内容。 |
|
此节点的 BIOS 接口,例如 |
|
此节点的引导接口,例如 |
|
CA 证书包的路径,可用作验证 SSL API 请求的一部分。 |
|
将节点与预定义的机箱关联。 |
|
要用作 SSL 事务一部分的客户端证书的路径。 |
|
要用作 SSL 事务一部分的客户端密钥的路径。 |
|
要操作的命名云或云配置。如果 *cloud* 是字符串,则它引用 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像在 clouds.yaml 的某个部分中一样。 |
|
此节点的控制台接口,例如 |
|
此节点的部署接口,例如 |
|
要用于此节点的 Ironic 驱动程序的名称。 当 *state* 为 |
|
此节点驱动程序的信息。将根据正在使用的驱动程序而有所不同。在创建期间将验证任何已填充的子字段。出于兼容性原因,子字段 `power`、`deploy`、`management` 和 `console` 已展平。 |
|
要赋予裸机节点的 ID。如果未指定且指定了 *name*,则将在创建时自动生成。 *id* 的定义将始终优先于 *name*。 |
|
用于节点检查的接口,例如 |
|
要从服务目录中获取的端点 URL 类型。 选项
|
|
此节点的带外管理接口,例如 “ipmitool”。 |
|
要赋予资源的唯一名称标识符。 |
|
在描述此节点的连接时要使用的网络接口提供程序。 |
|
网络接口卡的列表,例如 此节点属性无法更新。 |
|
网络接口卡的 MAC 地址。 |
|
用于管理此节点电源操作的接口,例如 |
|
此节点的物理特性定义 用于调度目的 |
|
此节点的特殊功能,例如 boot_option 等。 有关详细信息,请参阅 https://docs.openstack.org/ironic/latest/install/advanced.html。 |
|
CPU 架构 (x86_64, i686, …) |
|
此计算机拥有的 CPU 内核数 |
|
此计算机中第一个存储设备(通常为 /dev/sda)的大小(以 GB 为单位) |
|
此计算机拥有的 RAM 量(以 MB 为单位) |
|
部署的根磁盘设备提示。 有关允许的提示,请参阅 https://docs.openstack.org/ironic/latest/install/advanced.html。 |
|
用于在此节点上配置 raid 的接口。 |
|
区域的名称。 |
|
用于节点救援的接口,例如 |
|
此节点所属的特定资源类型。 |
|
OpenStackSDK 的日志级别 选项
|
|
OpenStackSDK 的日志文件路径。如果为空,则不写入日志。 |
|
已弃用,不再使用。 更新或指定密码已经有一段时间不受支持了。 选项
|
|
指示资源的期望状态 选项
|
|
用于在此节点上连接和分离卷的接口,例如 |
|
等待新创建的节点达到可用状态的秒数。 默认值: |
|
是否应该验证 SSL API 请求。 在 Ansible 2.3 之前,此项默认为 选项
|
|
用于此节点上所有供应商特定操作的接口,例如 |
|
Ansible 是否应该等待直到请求的资源完成。 选项
|
注意
注意
可以使用标准的 OpenStack 环境变量,例如
OS_USERNAME
,而不是提供显式值。身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。 更多信息请参见 https://docs.openstack.org/openstacksdk/
示例
- name: Enroll a node with some basic properties and driver info
openstack.cloud.baremetal_node:
chassis_id: "00000000-0000-0000-0000-000000000001"
cloud: "devstack"
driver: "pxe_ipmitool"
driver_info:
ipmi_address: "1.2.3.4"
ipmi_username: "admin"
ipmi_password: "adminpass"
id: "00000000-0000-0000-0000-000000000002"
nics:
- mac: "aa:bb:cc:aa:bb:cc"
- mac: "dd:ee:ff:dd:ee:ff"
properties:
capabilities: "boot_option:local"
cpu_arch: "x86_64"
cpus: 2
local_gb: 64
memory_mb: 8192
root_device:
wwn: "0x4000cca77fc4dba1"
返回值
通用返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
描述裸机节点的字典。 返回:当 state 为“present”时,成功返回。 |
|
与节点关联的分配的 UUID。如果不为空,则与 instance_id 相同(反之不一定成立)。 与 instance_id 不同,此字段是只读的。 请使用 Allocation API 删除分配。 返回:成功 |
|
要用于此节点的 bios 接口。 返回:成功 |
|
节点的引导接口,例如“pxe”。 返回:成功 |
|
节点的引导模式,可以是“uefi”或“bios” 返回:成功 |
|
与此节点关联的机箱的 UUID。 可以为空或 None。 返回:成功 |
|
当前的清理步骤。 返回:成功 |
|
当前为节点提供服务的 conductor。 返回:成功 |
|
节点的 conductor 组。 返回:成功 |
|
节点的控制台接口,例如“no-console”。 返回:成功 |
|
裸机节点创建的时间戳。 返回:成功 |
|
节点的部署接口,例如“direct”。 返回:成功 |
|
当前的部署步骤。 返回:成功 |
|
驱动程序的名称。 返回:成功 |
|
驱动程序管理此节点所需的所有元数据。字段列表因驱动程序而异,可以从 /v1/drivers/<DRIVER_NAME>/properties 资源中检索。 返回:成功 |
|
由节点的驱动程序设置和存储的内部元数据。 返回:成功 |
|
一组或多组任意元数据键值对。 返回:成功 |
|
fault 指示 ironic 检测到的活动 fault,通常节点处于“维护模式”。 None 表示 ironic 未检测到任何 fault。“电源故障”表示 ironic 无法从此节点检索电源状态。 还有其他可能的类型,例如“清理失败”和“救援中止失败”。 返回:成功 |
|
资源的 UUID。 返回:成功 |
|
用于节点检查的接口。 返回:成功 |
|
与此节点关联的 Nova 实例的 UUID。 返回:成功 |
|
用于自定义已部署映像的信息。 可以包括根分区大小、base64 编码的配置驱动器和其他元数据。 请注意,当删除实例时,此字段会自动删除(这是通过请求节点置备状态更改为 DELETED 来完成的)。 返回:成功 |
|
指示节点是否将执行自动清理。 返回:成功 |
|
指示是否在此节点上启用或禁用控制台访问。 返回:成功 |
|
此节点当前是否处于“维护模式”。将节点置于维护模式会将其从可用资源池中删除并停止一些内部自动化。 这可以手动发生(例如,通过 API 请求),也可以在 Ironic 检测到阻止与机器通信的硬件故障时自动发生。 返回:成功 |
|
是否保护节点免于取消部署、重建和删除。 返回:成功 |
|
节点是否已停用,因此不再能够提供,即从可管理变为可用,并且将在清理后最终变为可管理(而不是可用)。 返回:成功 |
|
指示节点当前是否在启用 secure_boot 的情况下启动。 返回:成功 |
|
来自已启动但未完成的最近(最后)事务的任何错误。 返回:成功 |
|
相对链接的列表,包括 self 和 bookmark 链接。 返回:成功 |
|
用户可设置的将此节点置于维护模式的原因的描述 返回:成功 |
|
用于带外节点管理的接口。 返回:成功 |
|
节点资源的人类可读标识符。 可以未定义。某些词是保留的。 返回:成功 |
|
在为此节点配置网络连接时要使用的网络接口提供程序。 返回:成功 |
|
拥有该对象的租户的字符串或 UUID。 返回:成功 |
|
此节点上的 ironic 端口组的列表。 返回:成功 |
|
此节点上的 ironic 端口的列表。 返回:成功 |
|
用于对节点执行电源操作的接口,例如“ipmitool”。 返回:成功 |
|
此节点当前的电源状态。 通常为“power on”或“power off”,但如果 Ironic 无法确定电源状态(例如,由于硬件故障),则可能为“None”。 返回:成功 |
|
此节点的物理特性。 由 ironic-inspector 在检查期间填充。 可以随时通过 REST API 编辑。 返回:成功 |
|
将节点标记为受保护的原因。 返回:成功 |
|
此节点当前的置备状态。 返回:成功 |
|
表示节点的当前 RAID 配置。 与清理功能一起引入。 返回:成功 |
|
用于在此节点上配置 RAID 的接口。 返回:成功 |
|
用于节点救援的接口,例如“no-rescue”。 返回:成功 |
|
如果持有锁定,则持有此节点锁定的 Ironic Conductor 主机的名称。 通常为“null”,但此字段对于调试很有用。 返回:成功 |
|
外部调度程序可以使用一个字符串来将此节点标识为特定类型的资源的单元。 有关更多详细信息,请参阅 https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html 返回:成功 |
|
将节点标记为已停用的原因。 返回:成功 |
|
指向状态集合的链接。 返回:成功 |
|
用于在此节点上连接和分离卷的接口,例如“cinder”。 返回:成功 |
|
如果已请求电源状态转换,则此字段表示请求的(即“目标”)状态,即“power on”或“power off”。 返回:成功 |
|
如果已请求置备操作,则此字段表示请求的(即“目标”)状态。 请注意,节点在其转换为此目标状态期间可能会经历多个状态。 例如,当请求将实例部署到可用节点时,节点可能会经历以下状态变化过程,AVAILABLE -> DEPLOYING -> DEPLOYWAIT -> DEPLOYING -> ACTIVE 返回:成功 |
|
表示节点的请求的 RAID 配置,该配置将在节点下次通过 CLEANING 状态时应用。 与清理功能一起引入。 返回:成功 |
|
此节点的特征列表。 返回:成功 |
|
裸机节点更新的时间戳。 返回:成功 |
|
此节点上供应商特定功能的接口,例如“no-vendor”。 返回:成功 |