Модуль openstack.cloud.router — создание и удаление маршрутизаторов в OpenStack
Примечание
Этот модуль входит в коллекцию openstack.cloud (версия 2.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: openstack.cloud.router.
Описание
- Создание и удаление маршрутизаторов в OpenStack. Хотя Neutron позволяет маршрутизаторам иметь одинаковые имена, этот модуль обеспечивает уникальность имён для удобства пользователей.
Требования
Следующие требования необходимы на хосте, на котором выполняется этот модуль.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
api_timeout integer | Время ожидания на уровне сокета перед истечением времени ожидания вызовов API. Если параметр не указан, библиотеке requests ничего не передаётся. |
auth dictionary | Словарь с данными аутентификации, необходимыми выбранному модулю аутентификации облака. Для стандартного модуля password здесь указываются auth_url, username, password, project_name и сведения о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других модулей этот параметр должен содержать все необходимые им параметры. Этот параметр не требуется, если указано именованное облако или заданы переменные окружения OpenStack OS_*. |
auth_type string | Имя используемого модуля аутентификации. Если облако использует не аутентификацию по паролю, здесь следует указать имя модуля и соответствующим образом обновить содержимое параметра auth. |
ca_cert псевдонимы: cacert string | Путь к пакету сертификатов CA, который можно использовать для проверки запросов API по SSL. |
client_cert псевдонимы: cert string | Путь к сертификату клиента, используемому при SSL-транзакции. |
client_key псевдонимы: key string | Путь к ключу клиента, используемому при SSL-транзакции. |
cloud any | Именованное облако или конфигурация облака, с которой нужно работать. Если 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_address). Если IP-адрес не указан, он автоматически назначается из этой подсети. |
|
ip_address псевдонимы: ip string |
Фиксированный IP-адрес, который нужно попытаться выделить. |
|
subnet_id псевдонимы: subnet string / обязательный |
Подсеть, к которой нужно привязать IP-адрес. |
external_gateway_info dictionary | Сведения о внешнем шлюзе маршрутизатора |
|
enable_snat boolean |
Уникальное имя или ID внешней сети шлюза. Обязателен, если указаны interfaces или enable_snat. Варианты:
|
|
external_fixed_ips list / elements=dictionary |
Параметры IP-адресов для внешней сети шлюза. Каждый элемент — словарь с именем или ID подсети (subnet) и IP-адресом, который нужно назначить в этой подсети (ip_address). Если IP-адрес не указан, он автоматически назначается из этой подсети. |
|
ip_address псевдонимы: ip string |
Фиксированный IP-адрес, который нужно попытаться выделить. |
|
subnet_id псевдонимы: subnet string / обязательный |
Подсеть, к которой нужно привязать IP-адрес. |
|
network string |
Уникальное имя или ID внешней сети шлюза. Обязателен, если указаны interfaces или enable_snat. |
interface псевдонимы: endpoint_type string | Тип URL конечной точки, получаемой из каталога служб. Варианты:
|
interfaces list / elements=any | Список подсетей для подключения к внутреннему интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, автоматически подключается к внутреннему интерфейсу маршрутизатора. Чтобы указать IP-адрес, отличный от шлюза по умолчанию, передайте параметры в виде словаря с ключами: имя или ID сети (net), имя или ID подсети (subnet) и IP-адрес порта (portip) в сети. Пользовательский portip часто необходим, когда к одной подсети нужно подключить несколько маршрутизаторов, а шлюз по умолчанию уже используется. |
is_admin_state_up псевдонимы: admin_state_up boolean | Желаемое административное состояние создаваемого или существующего маршрутизатора. Варианты:
|
name string / обязательный | Имя маршрутизатора. Этот атрибут маршрутизатора нельзя обновить. |
network string | Уникальное имя или ID внешней сети шлюза. Обязателен, если указаны external_fixed_ips или enable_snat. Этот атрибут маршрутизатора нельзя обновить. |
project string | Уникальное имя или ID проекта. Этот атрибут маршрутизатора нельзя обновить. |
region_name string | Название региона. |
sdk_log_level string | Уровень ведения журнала OpenStackSDK Варианты:
|
sdk_log_path string | Путь к файлу журнала OpenStackSDK. Если значение пустое, журнал не записывается. |
state string | Желаемое состояние ресурса Варианты:
|
timeout integer | Время ожидания Ansible для запрошенного ресурса. По умолчанию: |
validate_certs псевдонимы: verify boolean | Следует ли проверять запросы API по SSL. До Ansible 2.3 значение по умолчанию было Варианты:
|
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 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 with one
# internal subnet interface.
- openstack.cloud.router:
cloud: mycloud
state: present
name: router1
network: ext_network1
external_fixed_ips:
- subnet: public-subnet
ip_address: 172.24.4.2
interfaces:
- private-subnet
# Create a router with two internal subnet interfaces and a 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 a 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 a 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_address: 172.24.4.2
- subnet: ipv6-public-subnet
ip_address: 2001:db8::3
# Delete router1
- openstack.cloud.router:
cloud: mycloud
state: absent
name: router1
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
router dictionary | Словарь с описанием маршрутизатора. Возвращается: при успешном выполнении, если state имеет значение ‘present’ |
|
availability_zone_hints list / elements=string |
Подсказки зон доступности Возвращается: при успешном выполнении |
|
availability_zones list / elements=string |
Зоны доступности Возвращается: при успешном выполнении |
|
created_at string |
Дата и время создания маршрутизатора Возвращается: при успешном выполнении |
|
description string | Описание маршрутизатора Возвращается: при успешном выполнении |
|
external_gateway_info dictionary |
Информация о внешнем шлюзе маршрутизатора. Возвращается: при успешном выполнении Пример: |
|
flavor_id string |
ID типа маршрутизатора Возвращается: при успешном выполнении |
|
id string |
Уникальный UUID. Возвращается: при успешном выполнении Пример: |
|
is_admin_state_up boolean |
Административное состояние сети Возвращается: при успешном выполнении |
|
is_distributed boolean |
Указывает, является ли маршрутизатор распределённым. Возвращается: при успешном выполнении |
|
is_ha boolean |
Указывает, является ли маршрутизатор высокодоступным. Возвращается: при успешном выполнении |
|
name string |
Имя, присвоенное маршрутизатору. Возвращается: при успешном выполнении Пример: |
|
project_id string |
ID проекта, связанного с этим маршрутизатором. Возвращается: при успешном выполнении |
|
revision_number integer |
Номер редакции Возвращается: при успешном выполнении |
|
routes list / elements=string |
Дополнительная конфигурация маршрутов маршрутизатора L3. Возвращается: при успешном выполнении |
|
status string |
Состояние маршрутизатора. Возвращается: при успешном выполнении Пример: |
|
tags list / elements=string |
Список тегов Возвращается: при успешном выполнении |
|
tenant_id string |
ID арендатора-владельца Возвращается: при успешном выполнении |
|
updated_at string |
Дата последнего обновления маршрутизатора Возвращается: при успешном выполнении |
Ссылки коллекции
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/openstack/cloud/router_module.html