openstack.cloud.floating_ip модуль — Управление адресами плавающего IP для серверов OpenStack
Примечание
Этот модуль является частью коллекции openstack.cloud (версия 2.2.0).
Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля потребуются дополнительные требования, см. Требования для получения подробностей.
Для использования в книге задач укажите: openstack.cloud.floating_ip.
Описание
- Добавить или удалить адрес плавающего IP к/из сервера OpenStack.
- Возвращает плавающий IP при присоединении только если wait
true. - При отсоединении плавающего IP может возникнуть задержка, пока сервер больше не будет отображать плавающий IP.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
api_timeout целое число | Сколько времени должна ждать транспортная сокета перед тем, как истечёт таймаут для API-вызовов. Если это опущено, ничего не будет передано в библиотеку requests. |
auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии подключаемого модуля авторизации облака. Для плагина по умолчанию password, он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать любые параметры, необходимые этому плагину авторизации. Этот параметр не нужен, если предоставлен именованное облако или присутствуют переменные окружения 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. |
fixed_address строка | К какому фиксированному IP-адресу сервера должен быть прикреплён плавающий IP-адрес. |
floating_ip_address строка | Плавающий IP-адрес для прикрепления или открепления. Когда присутствует state, может использоваться для указания IP-адреса для прикрепления. floating_ip_address требует, чтобы был задан параметр network. |
interface псевдонимы: endpoint_type строка | Тип URL конечной точки для извлечения из каталога услуг. Варианты:
|
nat_destination псевдонимы: fixed_network, internal_network строка | Имя или идентификатор частной сети neutron, к которой прикреплён фиксированный IP-адрес, к которому будет прикреплён плавающий IP-адрес. |
network строка | Имя или идентификатор внешней сети neutron или имя пула nova. |
purge логическое | Когда state отсутствует, указывает, нужно ли полностью удалить плавающий IP-адрес или только отсоединить его от сервера. По умолчанию отсоединяется только. Варианты:
|
region_name строка | Имя региона. |
reuse логическое | Когда state присутствует, и floating_ip_address отсутствует, этот параметр может быть использован для указания, нужно ли попробовать повторно использовать плавающий IP-адрес, уже выделенный проекту. Когда reuse равно Варианты:
|
sdk_log_level строка | Уровень ведения журнала OpenStackSDK Варианты:
|
sdk_log_path строка | Путь к файлу журнала OpenStackSDK. Если пусто, журнал не записывается |
server строка / обязательно | Имя или идентификатор сервера, которому должен быть назначен IP-адрес. |
state string | Должен ли ресурс присутствовать или отсутствовать. Варианты:
|
timeout integer | Сколько времени Ansible должен ждать запрашиваемого ресурса. По умолчанию: |
validate_certs aliases: verify boolean | Нужно ли проверять запросы API с SSL. До 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/
Примеры
# Assign a floating IP to the first interface of `cattle001` from an existing
# external network or nova pool. A new floating IP from the first available
# external network is allocated to the project.
- openstack.cloud.floating_ip:
cloud: dguerri
server: cattle001
# Assign a new floating IP to the server fixed ip `192.0.2.3` of
# `cattle001`. If a free floating IP is already allocated to the project, it is
# reused; if not, a new one is created.
- openstack.cloud.floating_ip:
cloud: dguerri
state: present
reuse: true
server: cattle001
network: ext_net
fixed_address: 192.0.2.3
wait: true
timeout: 180
# Assign a new floating IP from the network `ext_net` to the server fixed
# ip in network `private_net` of `cattle001`.
- openstack.cloud.floating_ip:
cloud: dguerri
state: present
server: cattle001
network: ext_net
nat_destination: private_net
wait: true
timeout: 180
# Detach a floating IP address from a server
- openstack.cloud.floating_ip:
cloud: dguerri
state: absent
floating_ip_address: 203.0.113.2
server: cattle001
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
floating_ip dictionary | Словарь, описывающий плавающий IP-адрес. Возвращается: успех |
|
created_at string |
Метка времени, когда был назначен плавающий IP. Возвращается: успех |
|
description string |
Описание плавающего IP. Возвращается: успех |
|
dns_domain string |
DNS-домен. Возвращается: успех |
|
dns_name string |
DNS-имя. Возвращается: успех |
|
fixed_ip_address string |
Фиксированный IP-адрес, связанный с плавающим IP-адресом. Возвращается: успех |
|
floating_ip_address string |
IP-адрес плавающего IP. Возвращается: успех |
|
floating_network_id string |
ID сети, связанной с плавающим IP. Возвращается: успех |
|
id string |
ID плавающего IP. Возвращается: успех |
|
name string |
Имя плавающего IP. Возвращается: успех |
|
port_details dictionary |
Подробная информация о порте, с которым связан этот плавающий IP. Присутствует, если загружено расширение Возвращается: успех |
|
port_id string |
ID порта, с которым связан плавающий IP. Возвращается: успех |
|
project_id string |
ID проекта, с которым связан этот плавающий IP. Возвращается: успех |
|
qos_policy_id string |
ID политики QoS, прикрепленной к плавающему IP. Возвращается: успех |
|
revision_number string |
Номер ревизии. Возвращается: успех |
|
router_id string |
ID маршрутизатора, с которым связан плавающий IP. Возвращается: успех |
|
status string |
Статус плавающего IP, который может быть «ACTIVE» или «DOWN». Возвращается: успех |
|
subnet_id string |
ID подсети, с которой связан плавающий IP. Возвращается: успех |
|
tags list / elements=string |
Список тегов. Возвращается: успех |
|
updated_at string |
Метка времени последнего обновления плавающего IP. Возвращается: успех |
Ссылки на коллекцию
© 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/floating_ip_module.html