Spec-Zone.ru › Ansible

openstack.cloud.routers_info модуль — Получение информации об одном или нескольких маршрутизаторах OpenStack.

Примечание

Этот модуль является частью коллекции openstack.cloud (версия 2.2.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

целое число

Сколько времени должна ждать сокетная прослойка перед таймаутом для вызовов API. Если этот параметр опущен, в библиотеку запросов ничего не передаётся.

auth

словарь

Словарь, содержащий информацию об авторизации, необходимую для стратегии подключаемого модуля авторизации облака. Для стандартного подключаемого модуля password он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если их поддерживает облако. Для других подключаемых модулей этот параметр должен содержать любые параметры, необходимые данному подключаемому модулю авторизации. Этот параметр не нужен, если предоставлен параметр cloud или присутствуют переменные окружения OpenStack OS_*.

auth_type

строка

Имя подключаемого модуля авторизации для использования. Если облако использует что-то кроме парольной аутентификации, здесь должно быть указано имя подключаемого модуля, и содержимое параметра auth должно быть соответствующим образом обновлено.

ca_cert

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

строка

Путь к файлу с пакетом сертификатов CA, который может быть использован для проверки запросов SSL API.

client_cert

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

строка

Путь к клиенту сертификату, используемому в рамках транзакции SSL.

client_key

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

строка

Путь к ключу клиента, используемому в рамках транзакции SSL.

cloud

любой

Именованное облако или конфигурация облака для работы. Если cloud — строка, она ссылается на именованную конфигурацию облака, определённую в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если предоставлен параметр auth или если присутствуют переменные окружения OpenStack OS_* . Если cloud — словарь, он содержит полную конфигурацию облака, как в разделе clouds.yaml.

filters

словарь

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

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

description

строка

Фильтрует результаты списка по удобочитаемому описанию ресурса.

is_admin_state_up

булево

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

Выбор:

  • false
  • true

name

строка

Фильтрует результаты списка по удобочитаемому имени ресурса.

project_id

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

строка

Фильтрует результаты списка по идентификатору проекта, которому принадлежит ресурс.

revision_number

целое число

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

tags

список / элементы=строка

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

interface

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

строка

Тип URL конечной точки для извлечения из каталога сервиса.

Выбор:

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

name

строка

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

region_name

строка

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

sdk_log_level

строка

Уровень логов OpenStackSDK

Выбор:

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

sdk_log_path

строка

Путь к лог-файлу OpenStackSDK. Если пусто, логи не пишутся.

timeout

целое число

Сколько времени Ansible должен ждать запрошенного ресурса.

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

END_OF_DOCUMENT_MARKER

validate_certs

aliases: 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 / elements=dictionary

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

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

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

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

Возвращается: успех

Авторы

  • OpenStack Ansible SIG

Ссылки на коллекцию

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

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

Spec-Zone.ru

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