os_router – Создание или удаление маршрутизаторов из OpenStack
Синопсис
- Создание или удаление маршрутизаторов из OpenStack. Хотя Neutron позволяет маршрутизаторам иметь одинаковые имена, этот модуль обеспечивает уникальность имён для большей удобства пользователя.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| admin_state_up boolean |
| Желаемое состояние администратора созданного или существующего маршрутизатора. |
| api_timeout integer | Сколько времени слой сокета должен ждать, прежде чем произойдёт таймаут для вызовов API. Если это опущено, ничего не будет передано библиотеке запросов. | |
| auth dictionary | Словарь, содержащий информацию об авторизации, необходимую для стратегии подключаемого модуля авторизации облака. Для стандартного подключаемого модуля password, он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, os_user_domain_name или os_project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать любые необходимые параметры. Этот параметр не нужен, если указано имя облака или присутствуют переменные среды OpenStack OS_*. | |
| auth_type string | Имя подключаемого модуля авторизации для использования. Если облако использует что-то кроме парольной аутентификации, имя подключаемого модуля должно быть указано здесь, а содержимое параметра auth должно быть обновлено соответствующим образом. | |
| availability_zone - | Игнорируется. Присутствует для обратной совместимости | |
| ca_cert string | Путь к пакету CA Cert, который может использоваться для проверки запросов SSL API. псевдонимы: 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 - | Параметры IP-адреса для внешней сети шлюза. Каждый — словарь с именем или идентификатором подсети (subnet) и IP-адресом для назначения в подсети (ip). Если IP не указан, он автоматически назначается из этой подсети. | |
| interface string |
| Тип URL конечной точки для извлечения из каталога сервисов. псевдонимы: endpoint_type |
| interfaces - | Список подсетей для подключения к внутренней интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, будет автоматически подключен к внутренней интерфейсу маршрутизатора. Для предоставления IP-адреса, отличного от шлюза по умолчанию, параметры передаются как словарь с ключами в виде имени или ID сети (net), имени или ID подсети (subnet) и IP порта (portip) из сети. Пользовательское значение portip часто требуется, когда несколько маршрутизаторов нужно подключить к одной подсети, для которой шлюз по умолчанию уже использован. | |
| name - / обязательно | Имя маршрутизатора | |
| network - | Уникальное имя или ID внешней сети шлюза. Требуется если interfaces или enable_snat заданы. | |
| project - | Уникальное имя или ID проекта. | |
| region_name string | Имя региона. | |
| state - |
| Указать желаемое состояние ресурса. |
| 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, затем из стандартных переменных среды, и, наконец, из явных параметров в сценариях. Дополнительную информацию можно найти на странице https://docs.openstack.org/openstacksdk/
Примеры
# 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 сложный | При успехе, когда состояние равно 'present' | Словарь, описывающий маршрутизатор. | |
| admin_state_up булево | Административное состояние маршрутизатора. Пример: True | ||
| external_gateway_info словарь | Параметры внешнего шлюза. Пример: {'enable_snat': True, 'external_fixed_ips': [{'ip_address': '10.6.6.99', 'subnet_id': '4272cb52-a456-4c20-8f3c-c26024ecfa81'}]} | ||
| id строка | Идентификатор маршрутизатора. Пример: 474acfe5-be34-494c-b339-50f06aa143e4 | ||
| name строка | Имя маршрутизатора. Пример: router1 | ||
| routes список | Дополнительная конфигурация маршрутов для маршрутизатора L3. | ||
| status строка | Состояние маршрутизатора. Пример: ACTIVE | ||
| tenant_id строка | Идентификатор арендатора. Пример: 861174b82b43463c9edc5202aadc60ef | ||
Состояние
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/os_router_module.html