Модуль openstack.cloud.router — Создание или удаление маршрутизаторов из OpenStack
Примечание
Этот модуль входит в коллекцию openstack.cloud (версия 2.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в playbook, укажите: openstack.cloud.router.
Описание
- Создание или удаление маршрутизаторов из OpenStack. Хотя Neutron позволяет маршрутизаторам использовать одинаковое имя, этот модуль обеспечивает уникальность имён для большей удобства пользователя.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
api_timeout целое число | Сколько времени слой сокетов должен ожидать перед истечением времени ожидания для вызовов API. Если это опущено, ничего не будет передано библиотеке requests. |
auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии плагина авторизации облака. Для стандартного плагина password он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать любые параметры, необходимые этому плагину авторизации. Этот параметр не нужен, если предоставлен именованное облако или присутствуют переменные окружения OpenStack OS_*. |
auth_type строка | Имя плагина авторизации для использования. Если облако использует что-то кроме парольной аутентификации, здесь должно быть указано имя плагина, и содержимое параметра auth должно быть соответствующим образом обновлено. |
ca_cert псевдонимы: cacert строка | Путь к пакету CA Cert, который может использоваться для проверки запросов API SSL. |
client_cert псевдонимы: cert строка | Путь к клиенту сертификату для использования в рамках транзакции SSL. |
client_key псевдонимы: key строка | Путь к ключу клиента для использования в рамках транзакции SSL. |
cloud любой | Именованное облако или конфигурация облака для работы с ним. Если cloud — строка, она ссылается на именованную конфигурацию облака, определенную в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если предоставлен auth или присутствуют переменные окружения OpenStack OS_* . Если cloud — словарь, он содержит полную конфигурацию облака, как в разделе clouds.yaml. |
enable_snat булево | Включить атрибут Source NAT (SNAT). Варианты:
|
external_fixed_ips список / элементы=словарь | Параметры IP-адреса для внешней сети шлюза. Каждый — словарь с именем или идентификатором подсети (subnet) и IP-адресом для назначения в подсети (ip_address). Если IP не указан, он автоматически назначается из этой подсети. |
|
ip_address псевдонимы: ip строка |
Фиксированный IP-адрес, который нужно попытаться выделить. |
|
subnet_id псевдонимы: subnet строка / обязательный |
Подсеть для подключения IP-адреса. |
external_gateway_info словарь | Информация об внешнем шлюзе маршрутизатора |
|
enable_snat булево |
Уникальное имя или идентификатор внешней сети шлюза. необходимы interfaces или enable_snat. Варианты:
|
|
external_fixed_ips список / элементы=словарь |
Параметры IP-адреса для внешней сети шлюза. Каждый — словарь с именем или идентификатором подсети (subnet) и IP-адресом для назначения в подсети (ip_address). Если IP не указан, он автоматически назначается из этой подсети. |
|
ip_address псевдонимы: ip строка |
Фиксированный IP-адрес, который нужно попытаться выделить. |
|
subnet_id псевдонимы: subnet строка / обязательный |
Подсеть для подключения IP-адреса. |
|
network строка |
Уникальное имя или идентификатор внешней сети шлюза. необходимы interfaces или enable_snat. |
interface псевдонимы: endpoint_type строка | Тип URL конечной точки для извлечения из каталога служб. Варианты:
|
interfaces список / элементы=любой | Список подсетей для подключения к внутреннему интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, будет автоматически подключен к внутреннему интерфейсу маршрутизатора. Для задания IP-адреса, отличного от шлюза по умолчанию, параметры передаются в виде словаря с ключами, представляющими собой имя или ID сети (net), имя или ID подсети (subnet) и IP-адрес порта (portip) из сети. Пользовательский portip часто требуется, когда несколько маршрутизаторов необходимо подключить к одной подсети, для которой шлюз по умолчанию уже используется. |
is_admin_state_up псевдонимы: admin_state_up логическое | Желаемое административное состояние созданного или существующего маршрутизатора. Варианты:
|
name строка / обязательно | Имя, которое нужно присвоить маршрутизатору. Это свойство маршрутизатора нельзя обновить. |
network строка | Уникальное имя или ID внешней сети шлюза. Требуется, если указаны external_fixed_ips или enable_snat. Это свойство маршрутизатора нельзя обновить. |
project строка | Уникальное имя или ID проекта. Это свойство маршрутизатора нельзя обновить. |
region_name строка | Имя региона. |
sdk_log_level строка | Уровень ведения журнала OpenStackSDK Варианты:
|
sdk_log_path строка | Путь к файлу журнала OpenStackSDK. Если пусто, журнал не записывается |
state строка | Укажите желаемое состояние ресурса Варианты:
|
timeout целое число | Сколько времени Ansible должен ждать запрошенного ресурса. По умолчанию: |
validate_certs псевдонимы: verify логическое | Требуется ли проверка SSL-запросов API. До Ansible 2.3 по умолчанию было Варианты:
|
wait логическое | Должен ли 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
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
маршрутизатор словарь | Словарь, описывающий маршрутизатор. Возвращается: при успехе, когда состояние равно ‘present’ |
|
availability_zone_hints список / элементы=строка |
Подсказки зоны доступности Возвращается: успех |
|
availability_zones список / элементы=строка |
Зоны доступности Возвращается: успех |
|
created_at строка |
Дата и время создания маршрутизатора Возвращается: успех |
|
описание строка |
Примечания к описанию маршрутизатора Возвращается: успех |
|
external_gateway_info словарь |
Информация о внешнем шлюзе маршрутизатора. Возвращается: успех Пример: |
|
flavor_id строка |
Идентификатор флейвара маршрутизатора Возвращается: успех |
|
id строка |
Уникальный UUID. Возвращается: успех Пример: |
|
is_admin_state_up логическое |
Административное состояние сети Возвращается: успех |
|
is_distributed логическое |
Указывает на распределенный маршрутизатор. Возвращается: успех |
|
is_ha логическое |
Указывает на высокодоступный маршрутизатор. Возвращается: успех |
|
название строка |
Имя, присвоенное маршрутизатору. Возвращается: успех Пример: |
|
project_id строка |
Идентификатор проекта, связанный с этим маршрутизатором. Возвращается: успех |
|
revision_number целое число |
Номер ревизии Возвращается: успех |
|
маршруты список / элементы=строка |
Дополнительная конфигурация маршрутов для L3 маршрутизатора. Возвращается: успех |
|
состояние строка |
Состояние маршрутизатора. Возвращается: успех Пример: |
|
метки список / элементы=строка |
Список меток Возвращается: успех |
|
tenant_id строка |
Идентификатор арендатора-владельца Возвращается: успех |
|
updated_at строка |
Дата последнего обновления маршрутизатора Возвращается: успех |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/openstack/cloud/router_module.html