Модуль 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). Варианты:
|
|
name string |
Фильтрация результатов списка по имени ресурса, отображаемому пользователю. |
|
project_id псевдонимы: tenant_id string |
Фильтрация результатов списка по идентификатору проекта — владельца ресурса. |
|
revision_number integer |
Фильтрация результатов списка по номеру редакции ресурса. |
|
tags list / элементы=string |
Список тегов для фильтрации результатов списка. Будут возвращены ресурсы, соответствующие всем тегам из этого списка. |
interface псевдонимы: endpoint_type string | Тип URL конечной точки, получаемой из каталога служб. Варианты:
|
name string | Имя или идентификатор маршрутизатора |
region_name string | Название региона. |
sdk_log_level string | Уровень журналирования OpenStackSDK Варианты:
|
sdk_log_path string | Путь к файлу журнала OpenStackSDK. Если значение пустое, журнал не ведётся. |
timeout integer | Время ожидания запрошенного ресурса со стороны Ansible. По умолчанию: |
validate_certs псевдонимы: verify boolean | Следует ли проверять запросы SSL API. До 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/
Примеры
- 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 |
Дата последнего обновления маршрутизатора Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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