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