openstack.cloud.port модуль — Добавление/обновление/удаление портов из облака OpenStack.
Примечание
Этот модуль является частью коллекции openstack.cloud (версия 2.2.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Для использования в книге задач укажите: openstack.cloud.port.
Обзор
- Добавление, обновление или удаление портов из облака OpenStack.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
allowed_address_pairs список / элементы=словарь | Список разрешённых пар адресов. Разрешённые пары адресов поддерживаются со структурой словаря. Пример: allowed_address_pairs: - ip_address: 10.1.0.12 mac_address: ab:cd:ef:12:34:56 - ip_address: … Порт будет изменён во время обновления, если не указаны все подварианты, например, когда указан ip_address, но не mac_address. |
|
ip_address строка |
IP-адрес. |
|
mac_address строка |
MAC-адрес. |
api_timeout целое число | Сколько времени должен ждать уровень сокета, прежде чем произойдёт таймаут вызовов API. Если это опущено, ничего не будет передано в библиотеку запросов. |
auth словарь | Словарь, содержащий информацию об авторизации, необходимую для стратегии плагина авторизации облака. Для плагина по умолчанию password, он будет содержать auth_url, username, password, project_name и любую информацию о домене (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать параметры, необходимые для плагина авторизации. Этот параметр не нужен, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. |
auth_type строка | Имя плагина авторизации для использования. Если облако использует что-то помимо парольной авторизации, имя плагина должно быть указано здесь, и содержимое параметра auth должно быть соответствующим образом обновлено. |
binding_profile словарь | Словарь профиля привязки, с которым должен быть создан порт. |
binding_vnic_type псевдонимы: vnic_type строка | Тип порта, который должен быть создан Варианты:
|
ca_cert псевдонимы: cacert строка | Путь к пакету CA Cert, который можно использовать для проверки запросов SSL API. |
client_cert псевдонимы: cert строка | Путь к клиенту сертификату, который следует использовать в рамках транзакции SSL. |
client_key псевдонимы: key строка | Путь к ключу клиента, который следует использовать в рамках транзакции SSL. |
cloud любой | Именованное облако или конфигурация облака для работы. Если cloud является строкой, она ссылается на именованную конфигурацию облака, как определено в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если предоставлен auth или присутствуют переменные окружения OpenStack OS_*. Если cloud является словарем, он содержит полную конфигурацию облака, как в разделе clouds.yaml. |
description строка | Описание порта. |
device_id строка | Идентификатор устройства, использующего этот порт. |
device_owner строка | Идентификатор сущности, которая использует этот порт. |
dns_domain строка | Домен DNS порта (только при включённой интеграции dns) |
dns_name строка | Имя DNS порта (только при включённой интеграции dns) |
extra_dhcp_opts список / элементы=словарь | Дополнительные параметры DHCP, которые должны быть назначены этому порту. Дополнительные параметры поддерживаются со структурой словаря. Обратите внимание, что параметры нельзя удалить, только обновить. Пример: extra_dhcp_opts: - ip_version: 4 opt_name: bootfile-name opt_value: pxelinux.0 - opt_name: … Порт будет изменён во время обновления, если не указаны все подварианты, например, когда указан opt_name, но не ip_version. |
|
ip_version целое число / обязательно |
Версия IP, к которой относится этот параметр DHCP. |
|
opt_name строка / обязательно |
Имя параметра DHCP, который нужно установить. |
|
opt_value строка / обязательно |
Значение параметра DHCP, которое нужно установить. |
fixed_ips список / элементы=словарь | Желаемый IP-адрес и/или подсеть для этого порта. Подсеть ссылается на subnet_id, а IP-адрес — на ip_address. Порт будет изменён при обновлении, если не указаны все подварианты, например, при указании ip_address, но отсутствии subnet_id. |
|
ip_address строка / обязательно |
Фиксированный IP-адрес для попытки выделения. |
|
subnet_id строка |
Подсеть для подключения IP-адреса. |
interface псевдонимы: endpoint_type строка | Тип URL конечной точки для получения из каталога служб. Варианты:
|
is_admin_state_up псевдонимы: admin_state_up булево | Устанавливает административное состояние. Варианты:
|
is_port_security_enabled псевдонимы: port_security_enabled булево | Включить или выключить безопасность порта в сети. Варианты:
|
mac_address строка | MAC-адрес этого порта. |
name строка / обязательно | Имя, которое необходимо задать порту. Это свойство порта не может быть обновлено. |
network строка | ID или имя сети, к которой принадлежит этот порт. Требуется при создании нового порта. Должно быть именем при создании порта. Это свойство порта не может быть обновлено. |
no_security_groups булево | Не связывать группу безопасности с этим портом. Устарело. Используйте security_groups: Варианты:
|
region_name строка | Имя региона. |
sdk_log_level строка | Уровень ведения журнала OpenStackSDK. Варианты:
|
sdk_log_path строка | Путь к файлу журнала OpenStackSDK. Если пусто, журнал не записывается. |
security_groups список / элементы=строка | ID или имя(и) группы безопасности, связанные с портом. |
state строка | Ресурс должен быть присутствующим или отсутствующим. Варианты:
|
timeout целое число | Сколько времени Ansible должен ждать запрашиваемого ресурса. По умолчанию: |
validate_certs псевдонимы: verify булево | Требуется ли проверка запросов API SSL. До Ansible 2.3 по умолчанию было Варианты:
|
wait булево | Ansible должен ждать завершения запрашиваемого ресурса. Варианты:
|
Примечания
Примечание
- Можно использовать стандартные переменные окружения OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут поступать из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных окружения, и, наконец, из явных параметров в задачах. Более подробную информацию можно найти по адресу https://docs.openstack.org/openstacksdk/
Примеры
# Create a port
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
# Create a port with a static IP
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
fixed_ips:
- ip_address: 10.1.0.21
# Create a port with No security groups
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
no_security_groups: True
# Update the existing 'port1' port with multiple security groups (version 1)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups: 1496e8c7-4918-482a-9172-f4f00fc4a3a5,057d4bdf-6d4d-472...
# Update the existing 'port1' port with multiple security groups (version 2)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups:
- 1496e8c7-4918-482a-9172-f4f00fc4a3a5
- 057d4bdf-6d4d-472...
# Create port of type 'direct'
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
binding_vnic_type: direct
# Create a port with binding profile
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
binding_profile:
pci_slot: "0000:03:11.1"
physical_network: "provider"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
порт словарь | Словарь, описывающий порт. Возвращается: при успехе, когда state является |
|
allowed_address_pairs список / элементы=строка |
Разрешённые пары адресов. Возвращается: успешно Пример: |
|
binding_host_id строка |
Идентификатор хоста, на котором выделен порт. В некоторых случаях различные реализации могут выполняться на разных хостах. Возвращается: успешно Пример: |
|
binding_profile словарь |
Словарь, позволяющий приложению, работающему на указанном хосте, передавать и получать информацию о виртуальном интерфейсе порта в плагин. Возвращается: успешно Пример: |
|
binding_vif_details словарь |
Словарь, позволяющий приложению получать информацию о функциях, которые предоставляет API сетевых служб. Возвращается: успешно |
|
binding_vif_type словарь |
Тип VIF для порта. Возвращается: успешно |
|
binding_vnic_type строка |
Тип виртуальной сетевой карты (vNIC), привязанной к порту Neutron. Возвращается: успешно Пример: |
|
created_at строка |
Отметка времени создания порта. Возвращается: успешно Пример: |
|
data_plane_status строка |
Состояние базовой плоскости данных порта. Возвращается: успешно |
|
description строка |
Описание порта. Возвращается: успешно |
|
device_id строка |
Идентификатор устройства этого порта. Возвращается: успешно Пример: |
|
device_owner строка |
Владелец устройства этого порта, например Возвращается: успешно Пример: |
|
device_profile строка |
Профиль устройства этого порта, относится к профилям устройств Cyborg: https://docs.openstack.org/api-ref/accelerator/v2/index.html# device-profiles. Возвращается: успешно |
|
dns_assignment список / элементы=строка |
Назначение DNS для порта. Возвращается: успешно |
|
dns_domain строка |
Домен DNS, назначенный порту. Возвращается: успешно |
|
dns_name строка |
Имя DNS для порта. Возвращается: успешно |
|
extra_dhcp_opts список / элементы=строка |
Набор нулевых или более пар дополнительных параметров DHCP. Пара параметров состоит из значения и имени параметра. Возвращается: успешно Пример: |
|
fixed_ips список / элементы=строка |
IP-адреса для порта. Включает IP-адрес и идентификатор подсети. Возвращается: успешно |
|
id строка |
Идентификатор порта. Возвращается: успешно Пример: |
|
ip_allocation string |
Параметр ip_allocation указывает, используют ли порты отложенное, немедленное или отсутствие выделения IP-адресов. Возвращено: success |
|
is_admin_state_up boolean |
Административное состояние порта, которое включено Возвращено: success Пример: |
|
is_port_security_enabled boolean |
Статус безопасности порта, который включен Возвращено: success Пример: |
|
mac_address string |
MAC-адрес разрешенной пары адресов. Возвращено: success Пример: |
|
name string |
Имя порта. Возвращено: success Пример: |
|
network_id string |
ID подключенной сети. Возвращено: success Пример: |
|
numa_affinity_policy string |
Политика NUMA affinity, определенная для этого порта. Возвращено: success Пример: |
|
project_id string |
ID проекта, которому принадлежит сеть. Возвращено: success Пример: |
|
propagate_uplink_status boolean |
Следует ли распространять статус восходящей линии порта. Возвращено: success Пример: |
|
qos_network_policy_id string |
ID политики QoS, присоединенной к сети, к которой привязан порт. Возвращено: success Пример: |
|
qos_policy_id string |
ID политики QoS, присоединенной к порту. Возвращено: success Пример: |
|
resource_request string |
Параметр port-resource-request предоставляет ресурсы Placement (например: минимальная пропускная способность) и атрибуты (например: тип vnic, physnet), запрашиваемые портом у Nova и Placement. Возвращено: success |
|
revision_number integer |
Номер ревизии ресурса. Возвращено: success Пример: |
|
security_group_ids list / elements=string |
ID любых подключенных групп безопасности. Возвращено: success |
|
status string |
Статус порта. Значение Возвращено: success Пример: |
|
tags list / elements=string |
Список тегов ресурса. Возвращено: success Пример: |
|
tenant_id string |
То же самое, что и project_id. Устарело. Возвращено: success Пример: |
|
trunk_details dictionary |
Тракт, ссылающийся на этот родительский порт и его подпорты. Присутствует для родительских портов тракта, если загружено расширение Возвращено: success |
|
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/port_module.html