openstack.cloud.router – Создание или удаление маршрутизаторов из OpenStack
Примечание
Этот плагин является частью коллекции openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Чтобы использовать его в playbook, укажите: openstack.cloud.router.
Описание
- Создание или удаление маршрутизаторов из OpenStack. Хотя Neutron позволяет маршрутизаторам иметь одинаковые имена, этот модуль обеспечивает уникальность имен для повышения удобства использования.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin_state_up boolean |
| Желаемое административное состояние созданного или существующего маршрутизатора. | |
| api_timeout integer | Сколько времени должна ждать сокетная часть, прежде чем истечет время ожидания для вызовов API. Если это опущено, ничего не будет передано в библиотеку запросов. | ||
| auth dictionary | Словарь, содержащий информацию об авторизации, необходимую для стратегии плагина авторизации облака. Для плагина по умолчанию password он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать необходимые параметры плагина авторизации. Этот параметр не требуется, если указано имя облака или присутствуют переменные среды OpenStack OS_*. | ||
| auth_type string | Имя плагина авторизации для использования. Если облако использует что-то, отличное от парольной аутентификации, имя плагина должно быть указано здесь, а содержимое параметра auth должно быть соответствующим образом обновлено. | ||
| availability_zone string | Игнорируется. Присутствует для обратной совместимости | ||
| ca_cert string | Путь к пакету сертификатов CA, который может использоваться при проверке запросов API SSL. алиасы: cacert | ||
| client_cert string | Путь к клиенту сертификата для использования в рамках транзакции SSL. алиасы: cert | ||
| client_key string | Путь к ключу клиента для использования в рамках транзакции SSL. алиасы: key | ||
| cloud raw | Именованное облако или конфигурация облака для работы. Если cloud — строка, она ссылается на конфигурацию именованного облака, как определено в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не требуется, если указан auth или присутствуют переменные среды OpenStack OS_*.. Если cloud — словарь, он содержит полную конфигурацию облака, как в разделе clouds.yaml. | ||
| enable_snat boolean |
| Включить атрибут Source NAT (SNAT). | |
| external_fixed_ips list / elements=dictionary | Параметры IP-адреса для внешней сети шлюза. Каждый — словарь с именем или ID подсети (subnet) и IP-адресом для присвоения в подсети (ip). Если IP не указан, он автоматически назначается из этой подсети. | ||
| ip string / required | Фиксированный IP-адрес, который необходимо попытаться выделить. | ||
| subnet string | Подсеть для подключения IP-адреса. | ||
| interface string |
| Тип URL конечной точки для извлечения из каталога служб. алиасы: endpoint_type | |
| interfaces list / elements=raw | Список подсетей для подключения к внутреннему интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, будет автоматически подключен к внутреннему интерфейсу маршрутизатора. Для задания IP-адреса, отличного от шлюза по умолчанию, параметры передаются как словарь с ключами как именем или ID сети (net), именем или ID подсети (subnet) и IP порта (portip) из сети. Определение пользователем portip часто требуется, когда несколько маршрутизаторов должны быть подключены к одной подсети, для которой шлюз по умолчанию уже используется. | ||
| name string / required | Имя для маршрутизатора | ||
| network string | Уникальное имя или ID внешней сети шлюза. требуется interfaces или enable_snat. | ||
| project string | Уникальное имя или ID проекта. | ||
| region_name string | Имя региона. | ||
| state string |
| Указывает желаемое состояние ресурса | |
| timeout integer | По умолчанию: 180 | Сколько времени Ansible должно ждать запрошенного ресурса. | |
| validate_certs boolean |
| Нужно ли проверять запросы SSL API. До Ansible 2.3 это по умолчанию было yes.алиасы: verify | |
| wait boolean |
| Должен ли 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 simple router, not attached to a gateway or subnets.
- openstack.cloud.router:
cloud: mycloud
state: present
name: simple_router
# Create a simple router, not attached to a gateway or subnets for a given project.
- openstack.cloud.router:
cloud: mycloud
state: present
name: simple_router
project: myproj
# Creates a router attached to ext_network1 on an IPv4 subnet and one
# internal subnet interface.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router1
network: ext_network1
external_fixed_ips:
- subnet: public-subnet
ip: 172.24.4.2
interfaces:
- private-subnet
# Create another router with two internal subnet interfaces.One with user defined port
# ip and another with default gateway.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router2
network: ext_network1
interfaces:
- net: private-net
subnet: private-subnet
portip: 10.1.1.10
- project-subnet
# Create another router with two internal subnet interface.One with user defined port
# ip and and another with default gateway.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router2
network: ext_network1
interfaces:
- net: private-net
subnet: private-subnet
portip: 10.1.1.10
- project-subnet
# Create another router with two internal subnet interface. one with user defined port
# ip and and another with default gateway.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router2
network: ext_network1
interfaces:
- net: private-net
subnet: private-subnet
portip: 10.1.1.10
- project-subnet
# Update existing router1 external gateway to include the IPv6 subnet.
# Note that since 'interfaces' is not provided, any existing internal
# interfaces on an existing router will be left intact.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router1
network: ext_network1
external_fixed_ips:
- subnet: public-subnet
ip: 172.24.4.2
- subnet: ipv6-public-subnet
ip: 2001:db8::3
# Delete router1
- openstack.cloud.router:
cloud: mycloud
state: absent
name: router1
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| router complex | При успехе, когда state равен 'present' | Словарь, описывающий маршрутизатор. | |
| admin_state_up boolean | успех | Административное состояние маршрутизатора. Пример: True | |
| external_gateway_info dictionary | успех | Параметры внешнего шлюза. Пример: {'enable_snat': True, 'external_fixed_ips': [{'ip_address': '10.6.6.99', 'subnet_id': '4272cb52-a456-4c20-8f3c-c26024ecfa81'}]} | |
| id string | успех | ID маршрутизатора. Пример: 474acfe5-be34-494c-b339-50f06aa143e4 | |
| name string | успех | Имя маршрутизатора. Пример: router1 | |
| routes list / elements=string | успех | Дополнительная конфигурация маршрутов для маршрутизатора L3. | |
| status string | успех | Состояние маршрутизатора. Пример: ACTIVE | |
| tenant_id string | успех | ID арендатора. Пример: 861174b82b43463c9edc5202aadc60ef | |
Авторы
- 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/router_module.html