Spec-Zone.ru › Ansible

Модуль openstack.cloud.routers_info — получение сведений об одном или нескольких маршрутизаторах OpenStack.

Примечание

Этот модуль входит в коллекцию openstack.cloud (версия 2.5.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: openstack.cloud.routers_info.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Получение сведений об одном или нескольких маршрутизаторах из OpenStack.

Требования

Следующие требования должны быть выполнены на узле, который выполняет этот модуль.

  • 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, который можно использовать для проверки запросов SSL API.

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.

filters

dictionary

Словарь метаданных для дополнительной фильтрации. Элементы этого словаря могут быть дополнительными словарями.

По умолчанию: {}

description

string

Фильтрация результатов списка по описанию ресурса, отображаемому пользователю.

is_admin_state_up

boolean

Фильтрация результатов списка по административному состоянию ресурса: включён (true) или выключен (false).

Варианты:

  • false
  • true

name

string

Фильтрация результатов списка по имени ресурса, отображаемому пользователю.

project_id

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

string

Фильтрация результатов списка по идентификатору проекта — владельца ресурса.

revision_number

integer

Фильтрация результатов списка по номеру редакции ресурса.

tags

list / элементы=string

Список тегов для фильтрации результатов списка. Будут возвращены ресурсы, соответствующие всем тегам из этого списка.

interface

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

string

Тип URL конечной точки, получаемой из каталога служб.

Варианты:

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

name

string

Имя или идентификатор маршрутизатора

region_name

string

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

sdk_log_level

string

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

Варианты:

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

sdk_log_path

string

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

timeout

integer

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

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

validate_certs

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

boolean

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

До 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/

Примеры

- name: Gather information about routers
  openstack.cloud.routers_info:
    auth:
      auth_url: https://identity.example.com
      username: user
      password: password
      project_name: someproject
  register: result

- name: Show openstack routers
  debug:
    msg: "{{ result.routers }}"

- name: Gather information about a router by name
  openstack.cloud.routers_info:
    auth:
      auth_url: https://identity.example.com
      username: user
      password: password
      project_name: someproject
    name: router1
  register: result

- name: Show openstack routers
  debug:
    msg: "{{ result.routers }}"

- name: Gather information about a router with filter
  openstack.cloud.routers_info:
    auth:
      auth_url: https://identity.example.com
      username: user
      password: password
      project_name: someproject
    filters:
      is_admin_state_up: True
  register: result

- name: Show openstack routers
  debug:
    msg: "{{ result.routers }}"

- name: List all routers
  openstack.cloud.routers_info:
     cloud: devstack
  register: routers

- name: List ports of first router
  openstack.cloud.port_info:
    cloud: devstack
    filters:
      device_id: "{{ routers.routers.0.id }}"
  register: ports

- name: Show first router's fixed ips
  debug:
    msg: "{{ ports.ports
        |rejectattr('device_owner', 'equalto', 'network:router_gateway')
        |sum(attribute='fixed_ips', start=[])
        |map(attribute='ip_address')
        |sort|list }}"

- name: List ports of all routers
  loop: "{{ routers.routers }}"
  openstack.cloud.port_info:
    cloud: devstack
    filters:
      device_id: "{{ item['id'] }}"
  register: ports

- name: Transform ports for interfaces_info entries
  loop: "{{ ports.results|map(attribute='ports')|list }}"
  set_fact:
    interfaces_info: |-
        {% for port in item %}
        {% if port.device_owner != "network:router_gateway" %}
        {% for fixed_ip in port['fixed_ips'] %}
        - port_id: {{ port.id }}
          ip_address: {{ fixed_ip.ip_address }}
          subnet_id: {{ fixed_ip.subnet_id }}
        {% endfor %}
        {% endif %}
        {% endfor %}
  register: interfaces

- name: Combine router and interfaces_info entries
  loop: "{{
      routers.routers|zip(interfaces.results|map(attribute='ansible_facts'))|list
  }}"
  set_fact:
    # underscore prefix to prevent overwriting facts outside of loop
    _router: "{{
        item.0|combine({'interfaces_info': item.1.interfaces_info|from_yaml})
    }}"
  register: routers

- name: Remove set_fact artifacts from routers
  set_fact:
    routers: "{{ {
        'routers': routers.results|map(attribute='ansible_facts._router')|list
    } }}"

- debug: var=routers

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

routers

list / элементы=dictionary

содержит все сведения OpenStack о маршрутизаторах

Возвращается: всегда, но может иметь значение null

availability_zone_hints

list / элементы=string

Подсказки по зонам доступности

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

availability_zones

list / элементы=string

Зоны доступности

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

created_at

string

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

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

description

string

Описание маршрутизатора

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

external_gateway_info

dictionary

Сведения о внешнем шлюзе маршрутизатора.

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

flavor_id

string

Идентификатор типа маршрутизатора

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

id

string

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

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

is_admin_state_up

boolean

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

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

is_distributed

boolean

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

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

is_ha

boolean

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

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

name

string

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

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

project_id

string

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

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

revision_number

integer

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

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

routes

list / элементы=string

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

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

status

string

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

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

tags

list / элементы=string

Список тегов

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

tenant_id

string

Идентификатор арендатора-владельца

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

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/routers_info_module.html

Spec-Zone.ru

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