os_router – Создание или удаление маршрутизаторов из OpenStack
Новое в версии 2.0.
Описание
- Создание или удаление маршрутизаторов из OpenStack. Хотя Neutron позволяет маршрутизаторам иметь одинаковые имена, этот модуль обеспечивает уникальность имен для удобства пользователя.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- openstacksdk
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| admin_state_up boolean |
| Желаемое состояние администратора создаваемого или существующего маршрутизатора. |
| 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 boolean |
| Включить атрибут источника 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 boolean |
| Проверять ли запросы API SSL. До версии 2.3 значение по умолчанию было True. псевдонимы: validate_certs |
| wait boolean |
| Должен ли 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
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| маршрутизатор сложный | При успехе, когда состояние равно '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.7/modules/os_router_module.html