openstack.cloud.os_router – Создание или удаление маршрутизаторов в OpenStack
Примечание
Этот плагин является частью коллекции openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Для использования в книге задач укажите: openstack.cloud.os_router.
Обзор
- Создание или удаление маршрутизаторов в OpenStack. Хотя Neutron позволяет маршрутизаторам использовать одинаковое имя, этот модуль обеспечивает уникальность имен для большей удобства пользователя.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin_state_up boolean |
| Желаемое административное состояние созданного или существующего маршрутизатора. | |
| api_timeout целое число | Сколько времени должно ожидать сокетное соединение перед истечением времени ожидания для API-вызовов. Если этот параметр опущен, ничего не будет передано в библиотеку requests. | ||
| auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии подключаемого модуля авторизации облака. Для стандартного плагина пароль он должен содержать auth_url, имя пользователя, пароль, имя проекта и любую информацию о доменах (например, имя_домена_пользователя или имя_домена_проекта), если облако их поддерживает. Для других плагинов этот параметр должен содержать любые необходимые параметры плагина авторизации. Этот параметр не нужен, если указано имя облака или присутствуют переменные среды OpenStack OS_*. | ||
| auth_type строка | Название плагина авторизации для использования. Если облако использует что-то, кроме парольной авторизации, здесь должно быть указано имя плагина, а содержимое параметра auth должно быть соответствующим образом обновлено. | ||
| availability_zone строка | Игнорируется. Присутствует для обратной совместимости | ||
| ca_cert строка | Путь к пакету сертификатов CA, который может использоваться для проверки запросов SSL API. алиасы: cacert | ||
| client_cert строка | Путь к клиенту сертификату для использования в рамках транзакции SSL. алиасы: cert | ||
| client_key строка | Путь к ключу клиента для использования в рамках транзакции SSL. алиасы: key | ||
| cloud сырой | Именованное облако или конфигурация облака для работы. Если 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 не указан, он автоматически назначается из этой подсети. | ||
| ip строка / обязательный | Фиксированный IP-адрес для попытки выделения. | ||
| subnet строка | Подсеть для подключения IP-адреса. | ||
| interface строка |
| Тип URL конечной точки для извлечения из каталога сервиса. алиасы: endpoint_type | |
| interfaces список / элементы=сырой | Список подсетей, которые нужно подключить к внутреннему интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, будет автоматически подключен к внутреннему интерфейсу маршрутизатора. Чтобы указать IP-адрес, отличный от шлюза по умолчанию, передаются параметры в виде словаря с ключами как имя или идентификатор сети (net), имя или идентификатор подсети (subnet) и IP-адрес порта (portip) из сети. Пользовательский определенный портип часто требуется, когда несколько маршрутизаторов необходимо подключить к одной подсети, для которой шлюз по умолчанию уже используется. | ||
| name строка / обязательный | Имя, которое должно быть присвоено маршрутизатору | ||
| network строка | Уникальное имя или ID внешней сетевой шлюзовой точки. обязательно, если заданы interfaces или enable_snat. | ||
| project строка | Уникальное имя или ID проекта. | ||
| region_name строка | Имя региона. | ||
| state строка |
| Указывает желаемое состояние ресурса | |
| timeout целое число | Значение по умолчанию: 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.
- 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 сложный | При успехе, когда state — 'present' | Словарь, описывающий маршрутизатор. | |
| admin_state_up boolean | успешно | Административное состояние маршрутизатора. Пример: 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 | |
Авторы
- 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_router_module.html