openstack.cloud.subnet – Добавление/удаление подсети в сеть OpenStack
Примечание
Этот плагин входит в коллекцию openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Для использования в playbook, укажите: openstack.cloud.subnet.
Обзор
- Добавить или удалить подсеть в сеть OpenStack
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| allocation_pool_end строка | Последний IP-адрес из пула подсетей, который должен быть назначен виртуальным машинам. | ||
| allocation_pool_start строка | Начальный адрес из пула подсетей, с которого следует выделять IP-адреса. | ||
| api_timeout целое число | Сколько времени должна ждать сокетная прослойка перед таймаутом API-запросов. Если это значение опущено, оно не будет передано библиотеке requests. | ||
| auth словарь | Словарь, содержащий информацию об авторизации, необходимую для стратегии подключаемого модуля авторизации облака. Для стандартного подключаемого модуля password это будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать параметры, необходимые этому подключаемому модулю. Этот параметр не требуется, если указано имя облака или присутствуют переменные среды OpenStack OS_*. | ||
| auth_type строка | Имя подключаемого модуля авторизации для использования. Если облако использует что-то отличное от парольной аутентификации, имя подключаемого модуля должно быть указано здесь, и содержимое параметра auth должно быть обновлено соответствующим образом. | ||
| availability_zone строка | Игнорируется. Присутствует для обратной совместимости | ||
| ca_cert строка | Путь к пакету сертификатов CA, который можно использовать для проверки SSL-API-запросов. псевдонимы: cacert | ||
| cidr строка | Представление CIDR подсети, которая должна быть назначена подсети. Требуется, когда state равно 'present' и пул подсетей не указан. | ||
| client_cert строка | Путь к клиенту сертификат для использования в рамках SSL-транзакции. псевдонимы: cert | ||
| client_key строка | Путь к ключу клиента для использования в рамках SSL-транзакции. псевдонимы: key | ||
| cloud сырые данные | Именованное облако или конфигурация облака для работы. Если cloud является строкой, она ссылается на именованную конфигурацию облака, определённую в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не требуется, если предоставлен параметр auth или присутствуют переменные среды OpenStack OS_*. Если cloud является словарем, он содержит полную конфигурацию облака, как в разделе clouds.yaml. | ||
| dns_nameservers список / элементы=строка | Список DNS-серверов для этой подсети. | ||
| enable_dhcp булево |
| Включить DHCP для этой подсети. | |
| extra_specs словарь | По умолчанию: {} | Словарь со дополнительными парами ключ/значение, передаваемыми в API | |
| gateway_ip строка | IP-адрес, который будет назначен шлюзу для этой подсети | ||
| host_routes список / элементы=словарь | Список словарей маршрутов хоста для подсети. | ||
| destination строка / обязательный | Целевая сеть (CIDR). | ||
| nexthop строка / обязательный | Следующий прыжок (шлюз) для destination. | ||
| interface строка |
| Тип URL конечной точки для извлечения из каталога сервисов. псевдонимы: endpoint_type | |
| ip_version строка |
4 | Версия IP-адреса подсети 4 или 6 | |
| ipv6_address_mode строка |
| Режим адресации IPv6 | |
| ipv6_ra_mode строка |
| Режим маршрутизации объявлений IPv6 | |
| name строка / обязательный | Имя подсети, которое должно быть создано. Хотя Neutron допускает не уникальные имена подсетей, этот модуль обеспечивает уникальность имен подсетей. | ||
| network_name строка | Имя сети, к которой должна быть подключена подсеть Требуется, когда state равно 'present' | ||
| no_gateway_ip булево |
| IP-адрес шлюза не будет назначен для этой подсети | |
| project строка | Имя или ID проекта, содержащего подсеть (имя доступно только администратору) | ||
| region_name строка | Имя региона. | ||
| state строка |
| Указывает желаемое состояние ресурса | |
| timeout целое число | По умолчанию: 180 | Сколько времени Ansible будет ждать запрошенного ресурса. | |
| use_default_subnetpool булево |
| Использовать по умолчанию пул подсетей для ip_version, чтобы получить CIDR. | |
| validate_certs булево |
| Выполнять ли проверку SSL-API-запросов. До Ansible 2.3 по умолчанию было yes. псевдонимы: verify | |
| wait булево |
| Должен ли Ansible ждать, пока запрошенный ресурс будет завершён. | |
Примечания
Примечание
- Можно использовать стандартные переменные среды OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут поступать из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных среды, и, наконец, из явных параметров в playbooks. Более подробную информацию можно найти на 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
Авторы
- OpenStack Ansible SIG
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/openstack/cloud/subnet_module.html