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_timeout

整数

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

auth

字典

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

auth_type

字符串

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

bios_interface

字符串

此节点的 BIOS 接口,例如 no-bios

boot_interface

字符串

此节点的引导接口,例如 pxe

ca_cert

别名:cacert

字符串

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

chassis_id

别名:chassis_uuid

字符串

将节点与预定义的机箱关联。

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任何

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

console_interface

字符串

此节点的控制台接口,例如 no-console

deploy_interface

字符串

此节点的部署接口,例如 iscsi

driver

字符串

要用于此节点的 Ironic 驱动程序的名称。

当 *state* 为 present 时为必需

driver_info

字典 / 必需

此节点驱动程序的信息。将根据正在使用的驱动程序而有所不同。在创建期间将验证任何已填充的子字段。出于兼容性原因,子字段 `power`、`deploy`、`management` 和 `console` 已展平。

id

别名:uuid

字符串

要赋予裸机节点的 ID。如果未指定且指定了 *name*,则将在创建时自动生成。

*id* 的定义将始终优先于 *name*。

inspect_interface

字符串

用于节点检查的接口,例如 no-inspect

interface

别名:endpoint_type

字符串

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

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

management_interface

字符串

此节点的带外管理接口,例如 “ipmitool”。

name

字符串

要赋予资源的唯一名称标识符。

network_interface

字符串

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

nics

列表 / elements=dictionary / 必需

网络接口卡的列表,例如 - mac: aa:bb:cc:aa:bb:cc

此节点属性无法更新。

mac

字符串 / 必需

网络接口卡的 MAC 地址。

power_interface

字符串

用于管理此节点电源操作的接口,例如 ipmitool

properties

字典

此节点的物理特性定义

用于调度目的

capabilities

字符串

此节点的特殊功能,例如 boot_option 等。

有关详细信息,请参阅 https://docs.openstack.org/ironic/latest/install/advanced.html

cpu_arch

字符串

CPU 架构 (x86_64, i686, …)

cpus

字符串

此计算机拥有的 CPU 内核数

local_gb

别名:disk_size

字符串

此计算机中第一个存储设备(通常为 /dev/sda)的大小(以 GB 为单位)

memory_mb

别名:ram

字符串

此计算机拥有的 RAM 量(以 MB 为单位)

root_device

字典

部署的根磁盘设备提示。

有关允许的提示,请参阅 https://docs.openstack.org/ironic/latest/install/advanced.html

raid_interface

字符串

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

region_name

字符串

区域的名称。

rescue_interface

字符串

用于节点救援的接口,例如 no-rescue

resource_class

字符串

此节点所属的特定资源类型。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

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

skip_update_of_masked_password

布尔值

已弃用,不再使用。

更新或指定密码已经有一段时间不受支持了。

选项

  • false

  • true

state

字符串

指示资源的期望状态

选项

  • "present" ← (默认)

  • "absent"

storage_interface

字符串

用于在此节点上连接和分离卷的接口,例如 cinder

timeout

整数

等待新创建的节点达到可用状态的秒数。

默认值: 1800

validate_certs

别名:verify

布尔值

是否应该验证 SSL API 请求。

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

选项

  • false

  • true

vendor_interface

字符串

用于此节点上所有供应商特定操作的接口,例如 no-vendor

wait

布尔值

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

选项

  • false

  • true ← (默认)

注意

注意

  • 可以使用标准的 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"

返回值

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

描述

node

字典

描述裸机节点的字典。

返回:state 为“present”时,成功返回。

allocation_id

字符串

与节点关联的分配的 UUID。如果不为空,则与 instance_id 相同(反之不一定成立)。 与 instance_id 不同,此字段是只读的。 请使用 Allocation API 删除分配。

返回:成功

bios_interface

字符串

要用于此节点的 bios 接口。

返回:成功

boot_interface

字符串

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

返回:成功

boot_mode

字符串

节点的引导模式,可以是“uefi”或“bios”

返回:成功

chassis_id

字符串

与此节点关联的机箱的 UUID。 可以为空或 None。

返回:成功

clean_step

字符串

当前的清理步骤。

返回:成功

conductor

字符串

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

返回:成功

conductor_group

字符串

节点的 conductor 组。

返回:成功

console_interface

字符串

节点的控制台接口,例如“no-console”。

返回:成功

created_at

字符串

裸机节点创建的时间戳。

返回:成功

deploy_interface

字符串

节点的部署接口,例如“direct”。

返回:成功

deploy_step

字符串

当前的部署步骤。

返回:成功

driver

字符串

驱动程序的名称。

返回:成功

driver_info

字典

驱动程序管理此节点所需的所有元数据。字段列表因驱动程序而异,可以从 /v1/drivers/<DRIVER_NAME>/properties 资源中检索。

返回:成功

driver_internal_info

字典

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

返回:成功

extra

字典

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

返回:成功

fault

字符串

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

返回:成功

id

字符串

资源的 UUID。

返回:成功

inspect_interface

字符串

用于节点检查的接口。

返回:成功

instance_id

字符串

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

返回:成功

instance_info

字典

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

返回:成功

is_automated_clean_enabled

布尔值

指示节点是否将执行自动清理。

返回:成功

is_console_enabled

布尔值

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

返回:成功

is_maintenance

布尔值

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

返回:成功

is_protected

布尔值

是否保护节点免于取消部署、重建和删除。

返回:成功

is_retired

布尔值

节点是否已停用,因此不再能够提供,即从可管理变为可用,并且将在清理后最终变为可管理(而不是可用)。

返回:成功

is_secure_boot

布尔值

指示节点当前是否在启用 secure_boot 的情况下启动。

返回:成功

last_error

字符串

来自已启动但未完成的最近(最后)事务的任何错误。

返回:成功

列表 / 元素=字符串

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

返回:成功

maintenance_reason

字符串

用户可设置的将此节点置于维护模式的原因的描述

返回:成功

management_interface

字符串

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

返回:成功

name

字符串

节点资源的人类可读标识符。 可以未定义。某些词是保留的。

返回:成功

network_interface

字符串

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

返回:成功

owner

字符串

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

返回:成功

port_groups

列表 / 元素=字符串

此节点上的 ironic 端口组的列表。

返回:成功

ports

列表 / 元素=字符串

此节点上的 ironic 端口的列表。

返回:成功

power_interface

字符串

用于对节点执行电源操作的接口,例如“ipmitool”。

返回:成功

power_state

字符串

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

返回:成功

properties

字典

此节点的物理特性。 由 ironic-inspector 在检查期间填充。 可以随时通过 REST API 编辑。

返回:成功

protected_reason

字符串

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

返回:成功

provision_state

字符串

此节点当前的置备状态。

返回:成功

raid_config

字典

表示节点的当前 RAID 配置。 与清理功能一起引入。

返回:成功

raid_interface

字符串

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

返回:成功

rescue_interface

字符串

用于节点救援的接口,例如“no-rescue”。

返回:成功

reservation

字符串

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

返回:成功

resource_class

字符串

外部调度程序可以使用一个字符串来将此节点标识为特定类型的资源的单元。 有关更多详细信息,请参阅 https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html

返回:成功

retired_reason

字符串

将节点标记为已停用的原因。

返回:成功

states

列表 / 元素=字符串

指向状态集合的链接。

返回:成功

storage_interface

字符串

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

返回:成功

target_power_state

字符串

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

返回:成功

target_provision_state

字符串

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

返回:成功

target_raid_config

字典

表示节点的请求的 RAID 配置,该配置将在节点下次通过 CLEANING 状态时应用。 与清理功能一起引入。

返回:成功

traits

列表 / 元素=字符串

此节点的特征列表。

返回:成功

updated_at

字符串

裸机节点更新的时间戳。

返回:成功

vendor_interface

字符串

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

返回:成功

作者

  • OpenStack Ansible SIG