openstack.cloud.port_info 模块 – 获取 OpenStack 中端口信息。

注意

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

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

要安装它,请使用:ansible-galaxy collection install openstack.cloud。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

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

概要

  • 从 OpenStack 获取端口信息。

要求

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

  • 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* 参数的内容。

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 的一个部分一样。

filters

字典

用于进一步过滤的元数据的字典。此字典的元素将作为查询参数过滤器传递给 API。

interface

别名:endpoint_type

字符串

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

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

name

别名:port

字符串

端口的唯一名称或 ID。

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

示例

# Gather information about all ports
- openstack.cloud.port_info:
    cloud: mycloud
  register: result

- debug:
    msg: "{{ result.ports}}"

# Gather information about a single port
- openstack.cloud.port_info:
    cloud: mycloud
    name: 6140317d-e676-31e1-8a4a-b1913814a471

# Gather information about all ports that have device_id set to a specific
# value and with a status of ACTIVE.
- openstack.cloud.port_info:
    cloud: mycloud
    filters:
      device_id: 1038a010-3a37-4a9d-82ea-652f1da36597
      status: ACTIVE

返回值

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

描述

ports

列表 / 元素=字典

端口字典列表。根据您的云提供商,可能会返回下面列出的字典键的子集。

返回:始终

allowed_address_pairs

列表 / 元素=字符串

允许的地址对。

返回:成功

示例: []

binding_host_id

字符串

分配端口的主机的 ID。在某些情况下,不同的实现可以在不同的主机上运行。

返回:成功

示例: "b4bd682d-234a-4091-aa5b-4b025a6a7759"

binding_profile

字典

一个字典,允许在指定主机上运行的应用程序向插件传递和接收特定于 VIF 端口的信息。

返回:成功

示例: {}

binding_vif_details

字典

一个字典,允许应用程序传递有关网络 API 提供的功能的信息。

返回:成功

binding_vif_type

字典

端口的 VIF 类型。

返回:成功

binding_vnic_type

字符串

绑定到 Neutron 端口的虚拟网络接口卡 (vNIC) 类型。

返回:成功

示例: "normal"

created_at

字符串

创建端口的时间戳。

返回:成功

示例: "2022-02-03T13:28:25Z"

data_plane_status

字符串

端口底层数据平面的状态。

返回:成功

description

字符串

端口描述。

返回:成功

device_id

字符串

此端口的设备 ID。

返回:成功

示例: "b4bd682d-234a-4091-aa5b-4b025a6a7759"

device_owner

字符串

此端口的设备所有者,例如 network:dhcp

返回:成功

示例: "network:router_interface"

device_profile

字符串

此端口的设备配置文件,指的是 Cyborg 设备配置文件:https://docs.openstack.org/api-ref/accelerator/v2/index。# device-profiles。

返回:成功

dns_assignment

列表 / 元素=字符串

端口的 DNS 分配。

返回:成功

dns_domain

字符串

分配给端口的 DNS 域名。

返回:成功

dns_name

字符串

端口的 DNS 名称。

返回:成功

extra_dhcp_opts

列表 / 元素=字符串

一组或多组额外的 DHCP 选项对。选项对由选项值和名称组成。

返回:成功

示例: []

fixed_ips

列表 / 元素=字符串

端口的 IP 地址。包括 IP 地址和子网 ID。

返回:成功

id

字符串

端口 ID。

返回:成功

示例: "3ec25c97-7052-4ab8-a8ba-92faf84148de"

ip_allocation

字符串

ip_allocation 指示端口何时使用延迟、立即或不分配 IP。

返回:成功

is_admin_state_up

布尔值

端口的管理状态,向上为 True,向下为 False

返回:成功

示例: true

is_port_security_enabled

布尔值

端口安全状态,启用为 True,禁用为 False

返回:成功

示例: false

mac_address

字符串

允许的地址对的 MAC 地址。

返回:成功

示例: "00:00:5E:00:53:42"

name

字符串

端口名称。

返回:成功

示例: "port_name"

network_id

字符串

连接的网络的 ID。

返回:成功

示例: "dd1ede4f-3952-4131-aab6-3b8902268c7d"

numa_affinity_policy

字符串

为此端口定义的 NUMA 亲和性策略。

返回:成功

示例: "required"

project_id

字符串

拥有该网络的项目的 ID。

返回:成功

示例: "aa1ede4f-3952-4131-aab6-3b8902268c7d"

布尔值

是否传播端口的上行链路状态。

返回:成功

示例: false

qos_network_policy_id

字符串

绑定端口的网络所附加的 QoS 策略的 ID。

返回:成功

示例: "1e4f3958-c0c9-4dec-82fa-ed2dc1c5cb34"

qos_policy_id

字符串

附加到端口的 QoS 策略的 ID。

返回:成功

示例: "b20bb47f-5d6d-45a6-8fe7-2c1b44f0db73"

resource_request

字符串

port-resource-request 公开端口向 Nova 和 Placement 请求的 Placement 资源(例如:最小带宽)和特性(例如:vnic-type、physnet)。

返回:成功

revision_number

整数

资源的修订号。

返回:成功

示例: 0

security_group_ids

列表 / 元素=字符串

任何附加的安全组的 ID。

返回:成功

status

字符串

端口状态。值为 ACTIVEDOWN

返回:成功

示例: "ACTIVE"

tags

列表 / 元素=字符串

资源上的标签列表。

返回:成功

示例: []

tenant_id

字符串

project_id 相同。已弃用。

返回:成功

示例: "51fce036d7984ba6af4f6c849f65ef00"

trunk_details

字典

引用此父端口及其子端口的 trunk。如果加载了 trunk-details 扩展,则对于 trunk 父端口显示。

返回:成功

updated_at

字符串

上次更新端口的时间戳。

返回:成功

示例: "2022-02-03T13:28:25Z"

作者

  • OpenStack Ansible SIG