Spec-Zone.ru › Ansible

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

строка

Тип порта, который должен быть создан

Варианты:

  • "normal"
  • "direct"
  • "direct-physical"
  • "macvtap"
  • "baremetal"
  • "virtio-forwarder"

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 конечной точки для получения из каталога служб.

Варианты:

  • "admin"
  • "internal"
  • "public" ← (по умолчанию)

is_admin_state_up

псевдонимы: admin_state_up

булево

Устанавливает административное состояние.

Варианты:

  • false
  • true

is_port_security_enabled

псевдонимы: port_security_enabled

булево

Включить или выключить безопасность порта в сети.

Варианты:

  • false
  • true

mac_address

строка

MAC-адрес этого порта.

name

строка / обязательно

Имя, которое необходимо задать порту.

Это свойство порта не может быть обновлено.

network

строка

ID или имя сети, к которой принадлежит этот порт.

Требуется при создании нового порта.

Должно быть именем при создании порта.

Это свойство порта не может быть обновлено.

no_security_groups

булево

Не связывать группу безопасности с этим портом.

Устарело. Используйте security_groups: [] вместо no_security_groups: true.

Варианты:

  • false ← (по умолчанию)
  • true

region_name

строка

Имя региона.

sdk_log_level

строка

Уровень ведения журнала OpenStackSDK.

Варианты:

  • "INFO" ← (по умолчанию)
  • "DEBUG"

sdk_log_path

строка

Путь к файлу журнала OpenStackSDK. Если пусто, журнал не записывается.

security_groups

список / элементы=строка

ID или имя(и) группы безопасности, связанные с портом.

state

строка

Ресурс должен быть присутствующим или отсутствующим.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

timeout

целое число

Сколько времени Ansible должен ждать запрашиваемого ресурса.

По умолчанию: 180

validate_certs

псевдонимы: verify

булево

Требуется ли проверка запросов API SSL.

До Ansible 2.3 по умолчанию было true.

Варианты:

  • false
  • true

wait

булево

Ansible должен ждать завершения запрашиваемого ресурса.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Можно использовать стандартные переменные окружения 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 является present.

allowed_address_pairs

список / элементы=строка

Разрешённые пары адресов.

Возвращается: успешно

Пример: []

binding_host_id

строка

Идентификатор хоста, на котором выделен порт. В некоторых случаях различные реализации могут выполняться на разных хостах.

Возвращается: успешно

Пример: "b4bd682d-234a-4091-aa5b-4b025a6a7759"

binding_profile

словарь

Словарь, позволяющий приложению, работающему на указанном хосте, передавать и получать информацию о виртуальном интерфейсе порта в плагин.

Возвращается: успешно

Пример: {}

binding_vif_details

словарь

Словарь, позволяющий приложению получать информацию о функциях, которые предоставляет API сетевых служб.

Возвращается: успешно

binding_vif_type

словарь

Тип VIF для порта.

Возвращается: успешно

binding_vnic_type

строка

Тип виртуальной сетевой карты (vNIC), привязанной к порту Neutron.

Возвращается: успешно

Пример: "normal"

created_at

строка

Отметка времени создания порта.

Возвращается: успешно

Пример: "2022-02-03T13:28:25Z"

data_plane_status

строка

Состояние базовой плоскости данных порта.

Возвращается: успешно

description

строка

Описание порта.

Возвращается: успешно

device_id

строка

Идентификатор устройства этого порта.

Возвращается: успешно

Пример: "b4bd682d-234a-4091-aa5b-4b025a6a7759"

device_owner

строка

Владелец устройства этого порта, например network:dhcp.

Возвращается: успешно

Пример: "network:router_interface"

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

строка

Идентификатор порта.

Возвращается: успешно

Пример: "3ec25c97-7052-4ab8-a8ba-92faf84148de"

ip_allocation

string

Параметр ip_allocation указывает, используют ли порты отложенное, немедленное или отсутствие выделения IP-адресов.

Возвращено: success

is_admin_state_up

boolean

Административное состояние порта, которое включено True или выключено False.

Возвращено: success

Пример: true

is_port_security_enabled

boolean

Статус безопасности порта, который включен True или выключен False.

Возвращено: success

Пример: false

mac_address

string

MAC-адрес разрешенной пары адресов.

Возвращено: success

Пример: "00:00:5E:00:53:42"

name

string

Имя порта.

Возвращено: success

Пример: "port_name"

network_id

string

ID подключенной сети.

Возвращено: success

Пример: "dd1ede4f-3952-4131-aab6-3b8902268c7d"

numa_affinity_policy

string

Политика NUMA affinity, определенная для этого порта.

Возвращено: success

Пример: "required"

project_id

string

ID проекта, которому принадлежит сеть.

Возвращено: success

Пример: "aa1ede4f-3952-4131-aab6-3b8902268c7d"

propagate_uplink_status

boolean

Следует ли распространять статус восходящей линии порта.

Возвращено: success

Пример: false

qos_network_policy_id

string

ID политики QoS, присоединенной к сети, к которой привязан порт.

Возвращено: success

Пример: "1e4f3958-c0c9-4dec-82fa-ed2dc1c5cb34"

qos_policy_id

string

ID политики QoS, присоединенной к порту.

Возвращено: success

Пример: "b20bb47f-5d6d-45a6-8fe7-2c1b44f0db73"

resource_request

string

Параметр port-resource-request предоставляет ресурсы Placement (например: минимальная пропускная способность) и атрибуты (например: тип vnic, physnet), запрашиваемые портом у Nova и Placement.

Возвращено: success

revision_number

integer

Номер ревизии ресурса.

Возвращено: success

Пример: 0

security_group_ids

list / elements=string

ID любых подключенных групп безопасности.

Возвращено: success

status

string

Статус порта. Значение ACTIVE или DOWN.

Возвращено: success

Пример: "ACTIVE"

tags

list / elements=string

Список тегов ресурса.

Возвращено: success

Пример: []

tenant_id

string

То же самое, что и project_id. Устарело.

Возвращено: success

Пример: "51fce036d7984ba6af4f6c849f65ef00"

trunk_details

dictionary

Тракт, ссылающийся на этот родительский порт и его подпорты. Присутствует для родительских портов тракта, если загружено расширение trunk-details.

Возвращено: success

updated_at

string

Маркировка времени последнего обновления порта.

Возвращаемое значение: успех

Пример: "2022-02-03T13:28:25Z"

Авторы

  • OpenStack Ansible SIG

Ссылки на сборку

  • Система отслеживания задач
  • Репозиторий (источники)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API