Модуль openstack.cloud.port — добавление, обновление и удаление портов в облаке OpenStack.
Примечание
Этот модуль входит в коллекцию openstack.cloud (версия 2.5.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 list / elements=dictionary | Список разрешённых пар адресов. Разрешённые пары адресов задаются в виде словарей. Например: 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 string |
IP-адрес. |
|
mac_address string |
MAC-адрес. |
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. |
binding_profile dictionary | Словарь профиля привязки, с которым следует создать порт. |
binding_vnic_type псевдонимы: vnic_type string | Тип создаваемого порта Варианты:
|
ca_cert псевдонимы: cacert string | Путь к пакету сертификатов CA, который можно использовать для проверки запросов к API по SSL. |
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. |
description string | Описание порта. |
device_id string | Идентификатор устройства, использующего этот порт. |
device_owner string | Идентификатор сущности, использующей этот порт. |
dns_domain string | Домен DNS порта (только при включённой интеграции с DNS) |
dns_name string | Имя DNS порта (только при включённой интеграции с DNS) |
extra_dhcp_opts list / elements=dictionary | Дополнительные параметры DHCP, назначаемые этому порту. Дополнительные параметры задаются в виде словарей. Обратите внимание: параметры нельзя удалить, можно только обновить. Например: extra_dhcp_opts: - ip_version: 4 opt_name: bootfile-name opt_value: pxelinux.0 - opt_name: … При обновлении порт изменится, если указаны не все вложенные параметры, например если задан opt_name, но не задан ip_version. |
|
ip_version integer / обязательный |
Версия IP, для которой предназначен этот параметр DHCP. |
|
opt_name string / обязательный |
Имя устанавливаемого параметра DHCP. |
|
opt_value string / обязательный |
Значение устанавливаемого параметра DHCP. |
fixed_ips list / elements=dictionary | Требуемый IP-адрес и/или подсеть для этого порта. Подсеть задаётся параметром subnet_id, а IP-адрес — параметром ip_address. При обновлении порт изменится, если указаны не все вложенные параметры, например если задан ip_address, но не задан subnet_id. |
|
ip_address string / обязательный |
Фиксированный IP-адрес, который требуется выделить. |
|
subnet_id string |
Подсеть, к которой нужно подключить IP-адрес. |
interface псевдонимы: endpoint_type string | Тип URL конечной точки, получаемой из каталога служб. Варианты:
|
is_admin_state_up псевдонимы: admin_state_up boolean | Задаёт административное состояние. Варианты:
|
is_port_security_enabled псевдонимы: port_security_enabled boolean | Включить или отключить защиту порта в сети. Варианты:
|
mac_address string | MAC-адрес этого порта. |
name string / обязательный | Имя, присваиваемое порту. Этот атрибут порта нельзя обновить. |
network string | Идентификатор или имя сети, к которой относится этот порт. Обязателен при создании нового порта. При создании порта необходимо указать имя. Этот атрибут порта нельзя обновить. |
no_security_groups boolean | Не связывать этот порт с группой безопасности. Устарел. Вместо no_security_groups: Варианты:
|
region_name string | Имя региона. |
sdk_log_level string | Уровень журналирования OpenStackSDK Варианты:
|
sdk_log_path string | Путь к файлу журнала OpenStackSDK. Если значение пустое, журнал не записывается. |
security_groups list / elements=string | Идентификаторы или имена групп безопасности, связанных с портом. |
state string | Должен ли ресурс присутствовать или отсутствовать. Варианты:
|
timeout integer | Как долго Ansible должен ожидать запрошенный ресурс. По умолчанию: |
validate_certs псевдонимы: 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/
Примеры
# 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"
Возвращаемые значения
Общие возвращаемые значения задокументированы здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
port dictionary | Словарь с описанием порта. Возвращается: при успешном выполнении, если state имеет значение |
|
allowed_address_pairs list / elements=string |
Разрешённые пары адресов. Возвращается: при успешном выполнении Пример: |
|
binding_host_id string |
Идентификатор хоста, на котором выделен порт. В некоторых случаях разные реализации могут выполняться на разных хостах. Возвращается: при успешном выполнении Пример: |
|
binding_profile dictionary |
Словарь, позволяющий приложению, выполняемому на указанном хосте, передавать подключаемому модулю и получать от него информацию, относящуюся к порту vif. Возвращается: при успешном выполнении Пример: |
|
binding_vif_details dictionary |
Словарь, позволяющий приложению передавать информацию о функциях, предоставляемых API Networking. Возвращается: при успешном выполнении |
|
binding_vif_type dictionary |
Тип VIF для порта. Возвращается: при успешном выполнении |
|
binding_vnic_type string |
Тип виртуальной сетевой карты (vNIC), привязанной к порту neutron. Возвращается: при успешном выполнении Пример: |
|
created_at string |
Временная метка создания порта. Возвращается: при успешном выполнении Пример: |
|
data_plane_status string |
Статус нижележащей плоскости передачи данных порта. Возвращается: при успешном выполнении |
|
description string |
Описание порта. Возвращается: при успешном выполнении |
|
device_id string |
Идентификатор устройства этого порта. Возвращается: при успешном выполнении Пример: |
|
device_owner string |
Владелец устройства этого порта, например Возвращается: при успешном выполнении Пример: |
|
device_profile string |
Профиль устройства этого порта, соответствующий профилям устройств Cyborg: https://docs.openstack.org/api-ref/accelerator/v2/index.html# device-profiles. Возвращается: при успешном выполнении |
|
dns_assignment list / elements=string |
Назначение DNS для порта. Возвращается: при успешном выполнении |
|
dns_domain string |
Домен DNS, назначенный порту. Возвращается: при успешном выполнении |
|
dns_name string |
Имя DNS для порта. Возвращается: при успешном выполнении |
|
extra_dhcp_opts list / elements=string |
Набор из нуля или более дополнительных пар параметров DHCP. Пара параметров состоит из значения и имени параметра. Возвращается: при успешном выполнении Пример: |
|
fixed_ips list / elements=string |
IP-адреса порта. Включают IP-адрес и идентификатор подсети. Возвращается: при успешном выполнении |
|
id string |
Идентификатор порта. Возвращается: при успешном выполнении Пример: |
|
ip_allocation string |
Параметр ip_allocation указывает, используется ли для портов отложенное, немедленное или отсутствующее выделение IP-адресов. Возвращается: при успешном выполнении |
|
is_admin_state_up boolean |
Административное состояние порта: включено Возвращается: при успешном выполнении Пример: |
|
is_port_security_enabled boolean |
Состояние безопасности порта: включена Возвращается: при успешном выполнении Пример: |
|
mac_address string |
MAC-адрес разрешённой пары адресов. Возвращается: при успешном выполнении Пример: |
|
name string |
Имя порта. Возвращается: при успешном выполнении Пример: |
|
network_id string |
Идентификатор подключённой сети. Возвращается: при успешном выполнении Пример: |
|
numa_affinity_policy string |
Политика привязки к NUMA, заданная для этого порта. Возвращается: при успешном выполнении Пример: |
|
project_id string |
Идентификатор проекта, которому принадлежит сеть. Возвращается: при успешном выполнении Пример: |
|
propagate_uplink_status boolean |
Следует ли передавать состояние восходящего канала порта. Возвращается: при успешном выполнении Пример: |
|
qos_network_policy_id string |
Идентификатор политики QoS, назначенной сети, к которой привязан порт. Возвращается: при успешном выполнении Пример: |
|
qos_policy_id string |
Идентификатор политики QoS, назначенной порту. Возвращается: при успешном выполнении Пример: |
|
resource_request string |
Параметр port-resource-request предоставляет Placement сведения о запрашиваемых портом ресурсах Placement (например, минимальной пропускной способности) и характеристиках (например, типе vnic и физической сети), предназначенных для Nova и Placement. Возвращается: при успешном выполнении |
|
revision_number integer |
Номер редакции ресурса. Возвращается: при успешном выполнении Пример: |
|
security_group_ids list / elements=string |
Идентификаторы подключённых групп безопасности. Возвращается: при успешном выполнении |
|
status string |
Статус порта. Значение — Возвращается: при успешном выполнении Пример: |
|
tags list / elements=string |
Список тегов ресурса. Возвращается: при успешном выполнении Пример: |
|
tenant_id string |
То же, что и project_id. Устарело. Возвращается: при успешном выполнении Пример: |
|
trunk_details dictionary |
Транк, связанный с этим родительским портом, и его подчинённые порты. Присутствует для родительских портов транка, если загружено расширение Возвращается: при успешном выполнении |
|
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/port_module.html