openstack.cloud.baremetal_node_action 模块 – 从 OpenStack 激活/停用裸金属节点

注意

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

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

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

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

概要

  • 部署到由 Ironic 控制的裸金属节点。

要求

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

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

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

auth

字典

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

auth_type

字符串

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

ca_cert

别名:cacert

字符串

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

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任意

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

config_drive

任意

将传递到节点的 configdrive 文件或 HTTP(S) URL。

deploy

布尔值

指示是否应部署资源。允许分离部署逻辑并更改节点电源或维护状态的控制。

选项

  • false

  • true ←(默认)

instance_info

字典

用于部署节点的实例信息的定义。仅当 state 设置为 presenton 时,才需要此信息。

image_checksum

字符串

image_source 的校验和。

image_disk_format

字符串

已请求部署的映像类型。

image_source

字符串

可以从中检索映像的 HTTP(S) URL。

interface

别名:endpoint_type

字符串

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

选项

  • "admin"

  • "internal"

  • "public" ←(默认)

maintenance

布尔值

将节点设置为维护模式。

当更改节点的维护模式时,不会更改由 power 控制的电源状态。

选项

  • false

  • true

maintenance_reason

字符串

关于节点处于维护模式的原因的字符串表达式。

name

别名:id,uuid

字符串 / 必需

裸金属节点的名称或 ID。

power

字符串

允许声明电源状态的设置,允许打开尚未部署的节点的电源,并关闭已部署的节点的电源。

power 可以是 presentabsentmaintenanceonoff

选项

  • "present" ←(默认)

  • "absent"

  • "maintenance"

  • "on"

  • "off"

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ←(默认)

  • "DEBUG"

sdk_log_path

字符串

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

state

字符串

指示资源的期望状态。

state 可以是 presentabsentmaintenanceonoff

选项

  • "present" ←(默认)

  • "absent"

  • "maintenance"

  • "on"

  • "off"

timeout

整数

等待节点激活或停用完成的秒数。

默认值: 1800

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/ 中找到

示例

# Activate a node by booting an image with a configdrive attached
- openstack.cloud.baremetal_node_action:
    instance_info:
      image_source: "http://192.168.1.1/deploy_image.img"
      image_checksum: "356a6b55ecc511a20c33c946c4e678af"
      image_disk_format: "qcow"
    delegate_to: localhost
    deploy: true
    cloud: "openstack"
    config_drive: "http://192.168.1.1/host-configdrive.iso"
    maintenance: false
    power: present
    uuid: "d44666e1-35b3-4f6b-acb0-88ab7052da69"
    state: present

# Activate a node by booting an image with a configdrive json object
- openstack.cloud.baremetal_node_action:
    auth_type: None
    auth:
        endpoint: "http://192.168.1.1:6385/"
    id: "d44666e1-35b3-4f6b-acb0-88ab7052da69"
    config_drive:
      meta_data:
        hostname: node1
        public_keys:
          default: ssh-rsa AAA...BBB==
    delegate_to: localhost
    instance_info:
      image_source: "http://192.168.1.1/deploy_image.img"
      image_checksum: "356a6b55ecc511a20c33c946c4e678af"
      image_disk_format: "qcow"

作者

  • OpenStack Ansible SIG