openstack.cloud.subnet 模块 – 在 OpenStack 网络中添加/删除子网
注意
此模块是 openstack.cloud 集合 (版本 2.3.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install openstack.cloud
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: openstack.cloud.subnet
。
概要
在 OpenStack 网络中添加或删除子网
要求
执行此模块的主机需要以下要求。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
来自子网池的最后一个应分配给虚拟机的 IP 地址。 |
|
来自子网池的应从中分配 IP 的起始地址。 |
|
要分配给子网的分配池列表。每个元素都包含一个“start”和“end”值。 |
|
套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。 |
|
包含云的 auth 插件策略所需的 auth 信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及云支持的任何关于域的信息(例如,*user_domain_name* 或 *project_domain_name*)。对于其他插件,此参数需要包含该 auth 插件所需的任何参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的 auth 插件的名称。如果云使用 password 身份验证以外的其他方式,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。 |
|
可用于验证 SSL API 请求的 CA 证书捆绑包的路径。 |
|
应分配给子网的子网的 CIDR 表示形式。当 *state* 为“present”且未指定子网池时,这是必需的。 |
|
作为 SSL 事务一部分要使用的客户端证书的路径。 |
|
作为 SSL 事务一部分要使用的客户端密钥的路径。 |
|
要操作的命名云或云配置。如果 *cloud* 是字符串,则它引用在 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像 clouds.yaml 的一部分一样。 |
|
子网的描述 |
|
此子网不会分配网关 IP 选项
|
|
此子网的 DNS 命名服务器列表。 |
|
包含传递给 API 的额外键/值对的字典 默认值: |
|
将分配给此子网网关的 IP |
|
子网的主机路由字典列表。 |
|
目标网络 (CIDR)。 |
|
destination 的下一个跃点(又名网关)。 |
|
从服务目录中获取的端点 URL 类型。 选项
|
|
子网的 IP 版本 4 或 6 选项
|
|
IPv6 地址模式 选项
|
|
IPv6 路由器广告模式 选项
|
|
是否应为此子网启用 DHCP。 选项
|
|
要创建的子网的名称。尽管 Neutron 允许使用非唯一的子网名称,但此模块强制执行子网名称的唯一性。 |
|
应将子网附加到的网络名称或 ID 当状态为“present”时必需 |
|
从子网池分配子网时要使用的前缀长度 |
|
包含子网的项目名称或 ID(仅限管理员名称) |
|
区域名称。 |
|
OpenStackSDK 的日志级别 选项
|
|
OpenStackSDK 日志文件的路径。如果为空,则不写入日志 |
|
指示所需资源的状态 选项
|
|
从中获取 CIDR 的子网池名称或 ID |
|
Ansible 应等待请求资源多长时间。 默认值: |
|
使用默认子网池为ip_version获取 CIDR。 选项
|
|
是否应验证 SSL API 请求。 在 Ansible 2.3 之前,默认为 选项
|
|
Ansible 是否应等到请求的资源完成。 选项
|
注释
注意
可以使用标准的 OpenStack 环境变量(例如
OS_USERNAME
),而不是提供显式值。身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自剧本中的显式参数。更多信息可以在 https://docs.openstack.org/openstacksdk/ 找到。
示例
# Create a new (or update an existing) subnet on the specified network
- openstack.cloud.subnet:
state: present
network_name: network1
name: net1subnet
cidr: 192.168.0.0/24
dns_nameservers:
- 8.8.8.7
- 8.8.8.8
host_routes:
- destination: 0.0.0.0/0
nexthop: 12.34.56.78
- destination: 192.168.0.0/24
nexthop: 192.168.0.1
# Delete a subnet
- openstack.cloud.subnet:
state: absent
name: net1subnet
# Create an ipv6 stateless subnet
- openstack.cloud.subnet:
state: present
name: intv6
network_name: internal
ip_version: 6
cidr: 2db8:1::/64
dns_nameservers:
- 2001:4860:4860::8888
- 2001:4860:4860::8844
ipv6_ra_mode: dhcpv6-stateless
ipv6_address_mode: dhcpv6-stateless
返回值
公共返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
子网 ID 返回:子网存在时成功。 |
|
描述子网的字典。 返回:子网存在时成功。 |
|
与该子网关联的分配池。 返回:成功 |
|
子网的 CIDR。 返回:成功 |
|
创建时间戳 返回:成功 |
|
描述 返回:成功 |
|
此子网的 DNS 域名服务器。 返回:成功 |
|
是否发布固定 IP 的 DNS 记录。 返回:成功 |
|
子网的网关 IP。 返回:成功 |
|
主机路由列表。 返回:成功 |
|
唯一 UUID。 返回:成功 |
|
此子网的 IP 版本。 返回:成功 |
|
IPv6 地址模式,即“dhcpv6-stateful”、“dhcpv6-stateless”或“slaac”。 返回:成功 |
|
IPv6 路由器广告模式,可以是“slaac”、“dhcpv6-stateful”、“dhcpv6-stateless”。 返回:成功 |
|
此子网的 DHCP 启用标志。 返回:成功 |
|
赋予子网的名称。 返回:成功 |
|
此子网所属的网络 ID。 返回:成功 |
|
从子网池分配子网时要使用的前缀长度。 返回:成功 |
|
与该子网关联的项目 ID。 返回:成功 |
|
资源的修订号 返回:成功 |
|
此子网关联的段的 ID。 返回:成功 |
|
此子网的服务类型 返回:成功 |
|
从中获取 CIDR 的子网池 ID。 返回:成功 |
|
标签 返回:成功 |
|
上次更新子网的时间戳。 返回:成功 |
|
是否使用默认子网池来获取 CIDR。 返回:成功 |