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 接口,例如 |
|
此节点的引导接口,例如 |
|
可用于验证 SSL API 请求的 CA 证书包的路径。 |
|
将节点与预定义的机箱关联。 |
|
用作 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。如果不是 null,则将与 instance_id 相同(反之则不总是如此)。与 instance_id 不同,此字段是只读的。请使用分配 API 删除分配。 返回: 成功 |
|
用于此节点的 bios 接口。 返回: 成功 |
|
节点的引导接口,例如 “pxe”。 返回: 成功 |
|
节点的引导模式,可以是 “uefi” 或 “bios” 返回: 成功 |
|
与此节点关联的机箱的 UUID。可能为空或 None。 返回: 成功 |
|
当前的清理步骤。 返回: 成功 |
|
当前服务于节点的 conductor。 返回: 成功 |
|
节点的 conductor 组。 返回: 成功 |
|
节点的控制台接口,例如 “no-console”。 返回: 成功 |
|
裸机节点创建时间戳。 返回: 成功 |
|
节点的部署接口,例如 “direct”。 返回: 成功 |
|
当前的部署步骤。 返回: 成功 |
|
驱动程序的名称。 返回: 成功 |
|
驱动程序管理此节点所需的所有元数据。字段列表因驱动程序而异,可以从 /v1/drivers/<DRIVER_NAME>/properties 资源中检索。 返回: 成功 |
|
由节点的驱动程序设置和存储的内部元数据。 返回: 成功 |
|
一组或多组任意元数据键值对。 返回: 成功 |
|
故障指示 Ironic 检测到的活动故障,通常节点处于 “维护模式”。None 表示 Ironic 未检测到任何故障。“电源故障” 表示 Ironic 无法从此节点检索电源状态。还有其他可能的类型,例如 “清理失败” 和 “救援中止失败”。 返回: 成功 |
|
资源的 UUID。 返回: 成功 |
|
用于节点检查的接口。 返回: 成功 |
|
与此节点关联的 Nova 实例的 UUID。 返回: 成功 |
|
用于自定义部署映像的信息。可能包括根分区大小、base 64 编码的配置驱动器和其他元数据。请注意,当实例被删除时,此字段会自动删除(这是通过请求将节点配置状态更改为 DELETED 来完成的)。 返回: 成功 |
|
指示节点是否将执行自动清理。 返回: 成功 |
|
指示是否在此节点上启用或禁用控制台访问。 返回: 成功 |
|
此节点当前是否处于 “维护模式”。将节点设置为维护模式会将其从可用资源池中删除,并停止一些内部自动化。这可以手动发生(例如,通过 API 请求),也可以在 Ironic 检测到硬件故障而阻止与机器通信时自动发生。 返回: 成功 |
|
节点是否受到保护而无法取消部署、重建和删除。 返回: 成功 |
|
节点是否已退役,因此不能再提供,即从可管理变为可用,并且将在清理后最终处于可管理状态(而不是可用状态)。 返回: 成功 |
|
指示节点当前是否在启用 secure_boot 的情况下启动。 返回: 成功 |
|
从启动但未能完成的最新(最后)事务中的任何错误。 返回: 成功 |
|
相对链接列表,包括 self 和书签链接。 返回: 成功 |
|
用户设置的描述,说明为什么将此节点置于维护模式 返回: 成功 |
|
用于带外节点管理的接口。 返回: 成功 |
|
节点资源的易读标识符。可能未定义。某些词是保留的。 返回: 成功 |
|
在为此节点布线网络连接时使用哪个网络接口提供程序。 返回: 成功 |
|
拥有该对象的租户的字符串或 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 节点时,节点可能会经历以下状态更改过程,AVAILABLE -> DEPLOYING -> DEPLOYWAIT -> DEPLOYING -> ACTIVE 返回: 成功 |
|
表示节点的请求 RAID 配置,该配置将在节点下次转换到 CLEANING 状态时应用。随清理功能引入。 返回: 成功 |
|
此节点的特征列表。 返回: 成功 |
|
裸机节点更新时间戳。 返回: 成功 |
|
用于此节点上供应商特定功能的接口,例如 “no-vendor”。 返回: 成功 |