openstack.cloud.os_subnet – Добавить/Удалить подсеть в сеть OpenStack
Примечание
Этот плагин входит в коллекцию openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Чтобы использовать его в плейбуке, укажите: openstack.cloud.os_subnet.
Обзор
- Добавить или удалить подсеть в сеть OpenStack
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| allocation_pool_end строка | Из пула подсетей последний IP-адрес, который должен быть назначен виртуальным машинам. | ||
| allocation_pool_start строка | Из пула подсетей начальный адрес, с которого должен быть выделен IP-адрес. | ||
| api_timeout целое число | Сколько времени уровень сокета должен ждать перед истечением времени ожидания для вызовов API. Если это опущено, ничего не будет передано библиотеке запросов. | ||
| 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 булево |
| Проверять ли запросы API SSL. До Ansible 2.3 это имело значение по умолчанию yes. псевдонимы: verify | |
| wait булево |
| Ansible должен ждать завершения запрошенного ресурса. | |
Примечания
Примечание
- Можно использовать стандартные переменные окружения OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут быть взяты из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.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
Авторы
- 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/os_subnet_module.html