openstack.cloud.server_info 模块 – 获取一个或多个计算实例的信息

注意

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

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

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

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

概要

  • 从 OpenStack 中检索有关服务器实例的信息。

要求

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

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

all_projects

布尔值

是否列出所有项目的服务器,还是仅列出当前授权范围的项目。

选择

  • false ← (默认)

  • true

api_timeout

整数

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

auth

字典

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

auth_type

字符串

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

ca_cert

别名:cacert

字符串

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

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任意

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

detailed

布尔值

如果为 true,则返回有关服务器的其他详细信息,但会增加额外的 API 调用。

选择

  • false ← (默认)

  • true

filters

字典

用于进一步筛选结果。包含 JMESPath 表达式的字符串或元数据字典。后者的元素本身可能是字典。

interface

别名:endpoint_type

字符串

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

选择

  • "admin"

  • "internal"

  • "public" ← (默认)

name

别名:server

字符串

将结果限制为名称或 UUID 与此 glob 表达式匹配的服务器,例如 web*。

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选择

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

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

timeout

整数

Ansible 应等待请求的资源多长时间。

默认值: 180

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 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。有关更多信息,请访问 https://docs.openstack.org/openstacksdk/

示例

- name: Gather information about all 'web*' servers in active state
  openstack.cloud.server_info:
    cloud: devstack
    name: web*
    filters:
      vm_state: active

- name: Filter servers with nested dictionaries
  openstack.cloud.server_info:
    cloud: devstack
    filters:
      metadata:
        key1: value1
        key2: value2

返回值

常见的返回值记录在这里,以下是此模块特有的字段

描述

servers

列表 / 元素=字典

匹配过滤器的服务器列表

返回: 总是

access_ipv4

字符串

应使用此 IPv4 地址来访问此服务器。可能由提供商自动设置。

返回: 成功

access_ipv6

字符串

应使用此 IPv6 地址来访问此服务器。可能由提供商自动设置。

返回: 成功

addresses

字典

可通过其访问此服务器的地址字典。 该字典包含诸如“private”和“public”之类的键,每个键都包含该类型地址的字典列表。 这些地址包含在字典中,键为“addr”和“version”,版本根据 IP 地址的协议为 4 或 6。

返回: 成功

admin_password

字符串

首次创建服务器时,它会提供管理员密码。

返回: 成功

attached_volumes

列表 / 元素=字符串

附加卷的列表。列表中的每个项目至少包含一个“id”键来标识特定卷。

返回: 成功

availability_zone

字符串

此服务器所属的可用区名称。

返回: 成功

block_device_mapping

字符串

允许对实例的块设备映射进行精细控制。这通常用于从卷启动服务器。

返回: 成功

compute_host

字符串

运行此实例的计算主机名称。仅在管理用户的响应中出现。

返回: 成功

config_drive

字符串

指示是否为此服务器使用了配置驱动器。

返回: 成功

created_at

字符串

服务器创建的时间戳。

返回: 成功

description

字符串

服务器的描述。在微版本 2.19 之前,此项设置为服务器名称。

返回: 成功

disk_config

字符串

磁盘配置。为 AUTO 或 MANUAL。

返回: 成功

flavor

字典

从服务器返回的 flavor 属性。

返回: 成功

flavor_id

字符串

此服务器要使用的 flavor 的 flavor 引用,为 ID 或完整 URL。

返回: 成功

has_config_drive

字符串

指示配置驱动器是否启用元数据注入。并非所有云提供商都启用此功能。

返回: 成功

host_id

字符串

表示此服务器主机的 ID。

返回: 成功

host_status

字符串

主机状态。

返回: 成功

hostname

字符串

实例启动时在其上设置的主机名。默认情况下,仅在管理用户的响应中出现。

返回: 成功

hypervisor_hostname

字符串

虚拟机管理程序主机名。仅在管理用户的响应中出现。

返回: 成功

id

字符串

服务器 ID。

返回: 成功

image

字典

从服务器返回的 image 属性。

返回: 成功

image_id

字符串

此服务器要使用的镜像的镜像引用,为 ID 或完整 URL。

返回: 成功

instance_name

字符串

实例名称。Compute API 从实例名称模板生成实例名称。仅在管理用户的响应中出现。

返回: 成功

is_locked

布尔值

服务器的锁定状态

返回: 成功

kernel_id

字符串

使用 AMI 时,内核镜像的 UUID。如果不是,则为 null。默认情况下,仅在管理用户的响应中出现。

返回: 成功

key_name

字符串

关联的密钥对的名称。

返回: 成功

launch_index

整数

通过多个创建启动服务器时,这是启动服务器的顺序。默认情况下,仅在管理用户的响应中出现。

返回: 成功

launched_at

字符串

服务器启动的时间戳。

返回: 成功

字符串

包含与此服务器相关的链接的字典列表。

返回: 成功

max_count

字符串

要创建的最大服务器数量。

返回: 成功

metadata

字典

标签字符串的列表。

返回: 成功

min_count

字符串

要创建的最小服务器数量。

返回: 成功

name

字符串

服务器的名称

返回: 成功

networks

字符串

网络对象。当为租户定义了多个网络时,这是必需的参数。如果不指定 networks 参数,则服务器将附加到为当前租户创建的唯一网络。

返回: 成功

power_state

字符串

此服务器的电源状态。

返回: 成功

progress

整数

当服务器正在构建时,此值表示完成百分比。 完成后,它将为 100。

返回: 成功

project_id

字符串

此服务器关联的项目 ID。

返回: 成功

ramdisk_id

字符串

使用 AMI 时,ramdisk 镜像的 UUID。如果不是,则为 null。默认情况下,仅在管理用户的响应中出现。

返回: 成功

reservation_id

字符串

服务器的预留 ID。此 ID 可用于跟踪使用多个创建创建的服务器组,它们都将具有相同的 reservation_id。默认情况下,仅在管理用户的响应中出现。

返回: 成功

root_device_name

字符串

实例的根设备名称。默认情况下,仅在管理用户的响应中出现。

返回: 成功

scheduler_hints

字典

要发送到调度程序的数据字典。

返回: 成功

security_groups

列表 / 元素=字典

适用的安全组列表。每个组包含以下键:description、name、id 和 rules。

返回: 成功

server_groups

列表 / 元素=字符串

服务器所属的服务器组的 UUID。目前,这最多只能包含一个条目。

返回: 成功

status

字符串

此服务器所处的状态。有效值包括“ACTIVE”、“BUILDING”、“DELETED”、“ERROR”、“HARD_REBOOT”、“PASSWORD”、“PAUSED”、“REBOOT”、“REBUILD”、“RESCUED”、“RESIZED”、“REVERT_RESIZE”、“SHUTOFF”、“SOFT_DELETED”、“STOPPED”、“SUSPENDED”、“UNKNOWN”或“VERIFY_RESIZE”。

返回: 成功

tags

列表 / 元素=字符串

关联的标签列表。

返回: 成功

task_state

字符串

此服务器的任务状态。

返回: 成功

terminated_at

字符串

服务器终止的时间戳(如果已终止)。

返回: 成功

trusted_image_certificates

列表 / 元素=字符串

受信任的证书 ID 的列表,这些 ID 在镜像签名验证期间用于验证签名证书。

返回: 成功

updated_at

字符串

此服务器上次更新的时间戳。

返回: 成功

user_data

字符串

启动时使用的配置信息或脚本。Base64 编码。

返回: 成功

user_id

字符串

此服务器所有者的 ID。

返回: 成功

vm_state

字符串

此服务器的 VM 状态。

返回: 成功

volumes

列表 / 元素=字符串

与 attached_volumes 相同。

返回: 成功

作者

  • OpenStack Ansible SIG