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_urlusernamepasswordproject_name 以及有关域的任何信息(例如,如果云支持user_domain_nameproject_domain_name)。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了命名的云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

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

bios_interface

字符串

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

boot_interface

字符串

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

ca_cert

别名:cacert

字符串

可用于验证 SSL API 请求的 CA 证书包的路径。

chassis_id

别名:chassis_uuid

字符串

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

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任何

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

console_interface

字符串

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

deploy_interface

字符串

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

driver

字符串

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

statepresent 时是必需的

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

列表 / 元素=字典 / 必需

网络接口卡列表,例如: - 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。如果不是 null,则将与 instance_id 相同(反之则不总是如此)。与 instance_id 不同,此字段是只读的。请使用分配 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

字符串

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

返回: 成功

id

字符串

资源的 UUID。

返回: 成功

inspect_interface

字符串

用于节点检查的接口。

返回: 成功

instance_id

字符串

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

返回: 成功

instance_info

字典

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

返回: 成功

is_automated_clean_enabled

布尔值

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

返回: 成功

is_console_enabled

布尔值

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

返回: 成功

is_maintenance

布尔值

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

返回: 成功

is_protected

布尔值

节点是否受到保护而无法取消部署、重建和删除。

返回: 成功

is_retired

布尔值

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

返回: 成功

is_secure_boot

布尔值

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

返回: 成功

last_error

字符串

从启动但未能完成的最新(最后)事务中的任何错误。

返回: 成功

列表 / 元素=字符串

相对链接列表,包括 self 和书签链接。

返回: 成功

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 节点时,节点可能会经历以下状态更改过程,AVAILABLE -> DEPLOYING -> DEPLOYWAIT -> DEPLOYING -> ACTIVE

返回: 成功

target_raid_config

字典

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

返回: 成功

traits

列表 / 元素=字符串

此节点的特征列表。

返回: 成功

updated_at

字符串

裸机节点更新时间戳。

返回: 成功

vendor_interface

字符串

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

返回: 成功

作者

  • OpenStack Ansible SIG