os_router — Создание или удаление маршрутизаторов из OpenStack
Новая версия с 2.0.
Обзор
- Создание или удаление маршрутизаторов из OpenStack. Хотя Neutron позволяет маршрутизаторам иметь одинаковые имена, этот модуль обеспечивает уникальность имен для повышения удобства использования.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- openstacksdk
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| admin_state_up bool |
| Желаемое административное состояние созданного или существующего маршрутизатора. |
| api_timeout | Время ожидания сокета перед истечением времени ожидания для вызовов API. Если этот параметр опущен, он не будет передан в библиотеку requests. | |
| auth | Словарь, содержащий информацию об авторизации, необходимую для стратегии плагина авторизации облака. Для плагина по умолчанию password, он будет содержать auth_url, username, password, project_name и любую информацию о доменах, если облако их поддерживает. Для других плагинов этот параметр должен содержать необходимые параметры плагина авторизации. Этот параметр не нужен, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. | |
| auth_type | Имя используемого плагина авторизации. Если облако использует что-то кроме парольной аутентификации, имя плагина должно быть указано здесь, и содержимое параметра auth должно быть соответствующим образом обновлено. | |
| availability_zone | Игнорируется. Присутствует для обратной совместимости | |
| cacert | Путь к пакету сертификатов CA, который может использоваться для проверки запросов API SSL. | |
| cert | Путь к клиенту сертификат для использования в рамках транзакции SSL. | |
| cloud | Именованное облако или конфигурация облака для работы. Если cloud — строка, она ссылается на именованную конфигурацию облака, как определено в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если задан auth или присутствуют переменные окружения OpenStack OS_*. Если cloud — словарь, он содержит полную конфигурацию облака, как в разделе clouds.yaml. | |
| enable_snat bool |
| Включить атрибут Source NAT (SNAT). |
| external_fixed_ips | Параметры IP-адреса для внешней сети шлюза. Каждый — словарь с именем или ID подсети (subnet) и IP-адресом для назначения в подсети (ip). Если IP не указан, он автоматически назначается из этой подсети. | |
| interface (добавлено в 2.3) |
| Тип URL конечной точки для извлечения из каталога служб. псевдонимы: endpoint_type |
| interfaces | Список подсетей для подключения к внутренней интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, будет автоматически подключен к внутреннему интерфейсу маршрутизатора. Для задания IP-адреса, отличного от шлюза по умолчанию, параметры передаются как словарь с ключами как имя или ID сети (net), имя или ID подсети (subnet) и IP порта (portip) из сети. Пользовательский portip часто требуется, когда несколько маршрутизаторов должны быть подключены к одной подсети, для которой шлюз по умолчанию уже использован. | |
| key | Путь к клиенту ключу для использования в рамках транзакции SSL. | |
| name обязательно | Имя маршрутизатора | |
| network | Уникальное имя или ID внешней сети шлюза. требуется, если заданы interfaces или enable_snat. | |
| project (добавлено в 2.2) | Уникальное имя или ID проекта. | |
| region_name | Имя региона. | |
| state |
| Указывает желаемое состояние ресурса |
| timeout | По умолчанию: 180 | Время ожидания Ansible для запрошенного ресурса. |
| verify bool |
| Необходимо ли проверять запросы API SSL. До версии 2.3 по умолчанию было True. псевдонимы: validate_certs |
| wait bool |
| Нужно ли Ansible дожидаться завершения запрошенного ресурса. |
Примечания
Примечание
- Могут использоваться стандартные переменные окружения OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется os-client-config, что означает, что значения могут поступать из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных окружения, и, наконец, из явных параметров в заданиях. Дополнительную информацию можно найти на http://docs.openstack.org/developer/os-client-config
Примеры
# Create a simple router, not attached to a gateway or subnets.
- os_router:
cloud: mycloud
state: present
name: simple_router
# Create a simple router, not attached to a gateway or subnets for a given project.
- os_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.
- os_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.
- os_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.
- os_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.
- os_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.
- os_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
- os_router:
cloud: mycloud
state: absent
name: router1
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| router сложный | При успехе, когда state — 'present' | Словарь, описывающий маршрутизатор. | |
| id строка | ID маршрутизатора. Пример: 474acfe5-be34-494c-b339-50f06aa143e4 | ||
| name строка | Имя маршрутизатора. Пример: router1 | ||
| admin_state_up булево | Административное состояние маршрутизатора. Пример: True | ||
| status строка | Статус маршрутизатора. Пример: ACTIVE | ||
| tenant_id строка | ID арендатора. Пример: 861174b82b43463c9edc5202aadc60ef | ||
| external_gateway_info словарь | Параметры внешнего шлюза. Пример: {'enable_snat': True, 'external_fixed_ips': [{'ip_address': '10.6.6.99', 'subnet_id': '4272cb52-a456-4c20-8f3c-c26024ecfa81'}]} | ||
| routes список | Дополнительная конфигурация маршрутов для L3 маршрутизатора. | ||
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- David Shrewsbury (@Shrews)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/os_router_module.html