Spec-Zone.ru › Ansible

Модуль 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).

Варианты:

  • false
  • true

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.

Варианты:

  • false
  • true

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 конечной точки, получаемой из каталога служб.

Варианты:

  • "admin"
  • "internal"
  • "public" ← (по умолчанию)

interfaces

list / elements=any

Список подсетей для подключения к внутреннему интерфейсу маршрутизатора. Шлюз по умолчанию, связанный с подсетью, автоматически подключается к внутреннему интерфейсу маршрутизатора. Чтобы указать IP-адрес, отличный от шлюза по умолчанию, передайте параметры в виде словаря с ключами: имя или ID сети (net), имя или ID подсети (subnet) и IP-адрес порта (portip) в сети. Пользовательский portip часто необходим, когда к одной подсети нужно подключить несколько маршрутизаторов, а шлюз по умолчанию уже используется.

is_admin_state_up

псевдонимы: admin_state_up

boolean

Желаемое административное состояние создаваемого или существующего маршрутизатора.

Варианты:

  • false
  • true ← (по умолчанию)

name

string / обязательный

Имя маршрутизатора.

Этот атрибут маршрутизатора нельзя обновить.

network

string

Уникальное имя или ID внешней сети шлюза.

Обязателен, если указаны external_fixed_ips или enable_snat.

Этот атрибут маршрутизатора нельзя обновить.

project

string

Уникальное имя или ID проекта.

Этот атрибут маршрутизатора нельзя обновить.

region_name

string

Название региона.

sdk_log_level

string

Уровень ведения журнала OpenStackSDK

Варианты:

  • "INFO" ← (по умолчанию)
  • "DEBUG"

sdk_log_path

string

Путь к файлу журнала OpenStackSDK. Если значение пустое, журнал не записывается.

state

string

Желаемое состояние ресурса

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

timeout

integer

Время ожидания Ansible для запрошенного ресурса.

По умолчанию: 180

validate_certs

псевдонимы: verify

boolean

Следует ли проверять запросы API по SSL.

До Ansible 2.3 значение по умолчанию было true.

Варианты:

  • false
  • true

wait

boolean

Должен ли Ansible ожидать завершения операции с запрошенным ресурсом.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Вместо явного указания значений можно использовать стандартные переменные окружения 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

Информация о внешнем шлюзе маршрутизатора.

Возвращается: при успешном выполнении

Пример: {"enable_snat": true, "external_fixed_ips": [{"ip_address": "10.6.6.99", "subnet_id": "4272cb52-a456-4c20-8f3c-c26024ecfa81"}]}

flavor_id

string

ID типа маршрутизатора

Возвращается: при успешном выполнении

id

string

Уникальный UUID.

Возвращается: при успешном выполнении

Пример: "474acfe5-be34-494c-b339-50f06aa143e4"

is_admin_state_up

boolean

Административное состояние сети

Возвращается: при успешном выполнении

is_distributed

boolean

Указывает, является ли маршрутизатор распределённым.

Возвращается: при успешном выполнении

is_ha

boolean

Указывает, является ли маршрутизатор высокодоступным.

Возвращается: при успешном выполнении

name

string

Имя, присвоенное маршрутизатору.

Возвращается: при успешном выполнении

Пример: "router1"

project_id

string

ID проекта, связанного с этим маршрутизатором.

Возвращается: при успешном выполнении

revision_number

integer

Номер редакции

Возвращается: при успешном выполнении

routes

list / elements=string

Дополнительная конфигурация маршрутов маршрутизатора L3.

Возвращается: при успешном выполнении

status

string

Состояние маршрутизатора.

Возвращается: при успешном выполнении

Пример: "ACTIVE"

tags

list / elements=string

Список тегов

Возвращается: при успешном выполнении

tenant_id

string

ID арендатора-владельца

Возвращается: при успешном выполнении

updated_at

string

Дата последнего обновления маршрутизатора

Возвращается: при успешном выполнении

Авторы

  • OpenStack Ansible SIG

Ссылки коллекции

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API