Spec-Zone.ru › Ansible 2.10

community.network.cv_server_provision – Обеспечение порта сервера путем применения или удаления конфигурации шаблона к конфигуратору Arista CloudVision Portal, примененному к коммутатору.

Примечание

Этот плагин является частью коллекции community.network (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.network.

Для использования в плейбуке укажите: community.network.cv_server_provision.

  • Обзор
  • Требования
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет команде серверной части обеспечивать сетевые порты серверов для новых серверов, не имея доступа к Arista CVP или не обращаясь к команде сети для выполнения этой задачи. Предоставьте информацию для подключения к CVP, стойке коммутатора, порту, к которому подключен новый сервер, необязательный VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия — add (применить конфигурацию шаблона к порту), remove (сбросить конфигурацию интерфейса по умолчанию) и show (возвращает текущую конфигурацию порта).

Требования

Ниже перечислены требования, необходимые на узле, на котором выполняется этот модуль.

  • Jinja2
  • cvprac >= 0.7.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
action
строка
    Варианты:
  • show ←
  • add
  • remove
Действие, которое должен выполнить модуль. Действия — add, которое применяет указанную конфигурацию шаблона к порту, remove, которое сбрасывает указанную конфигурацию интерфейса по умолчанию, и show, которое вернет текущую конфигурацию порта без изменений.
auto_run
булево
    Варианты:
  • no ←
  • yes
Флаг, определяющий, будет ли модуль выполнять задачу CVP, запущенную в результате изменений в конфигураторе коммутатора. Когда действие add или remove выполняется, что приводит к изменению конфигуратора коммутатора, CVP запускает задачу, которую необходимо выполнить для применения конфигурации к коммутатору. Если этот параметр равен True, модуль определит номер задачи, созданной изменением конфигурации, выполнит её и подождёт завершения задачи. Если этот параметр равен False, задача останется в состоянии Ожидание в CVP для проверки и выполнения сетевым администратором.
host
строка / обязательно
Имя хоста или IP-адрес узла CVP, к которому осуществляется подключение.
password
строка / обязательно
Пароль пользователя, который будет использоваться для подключения к CVP для вызовов API.
port
строка
Номер порта для использования при выполнении вызовов API узла CVP. По умолчанию используется порт по умолчанию для указанного протокола. Порт 80 для http и порт 443 для https.
port_vlan
строка
VLAN, который должен быть применен к порту для этого сервера. Этот параметр зависит от правильного шаблона, поддерживающего одно VLAN-обеспечение. Если указанный портом VLAN-шаблон не поддерживает это, модуль завершит работу без изменений. Если указанный шаблон требует порт VLAN, но порт VLAN не указан, модуль завершит работу без изменений.
protocol
строка
    Варианты:
  • https ←
  • http
Протокол, который следует использовать при выполнении вызовов API к CVP. CVP по умолчанию использует https, и более новые версии CVP больше не поддерживают http.
server_name
строка / обязательно
Имя хоста или идентификатор сервера, для которого обеспечивается порт коммутатора.
switch_name
строка / обязательно
Имя хоста коммутатора, для которого настраивается сервер.
switch_port
строка / обязательно
Физический номер порта на коммутаторе, к которому подключен новый сервер.
template
строка / обязательно
Путь к файлу шаблона в формате Jinja, который содержит блок конфигурации, который будет применен к указанному порту коммутатора. Этот шаблон будет иметь переменные поля, замененные модулем перед применением к конфигурации коммутатора.
username
строка / обязательно
Пользователь, который будет использоваться для подключения к CVP для выполнения вызовов API.

Примеры

- name: Get current configuration for interface Ethernet2
  community.network.cv_server_provision:
    host: cvp_node
    username: cvp_user
    password: cvp_pass
    protocol: https
    server_name: new_server
    switch_name: eos_switch_1
    switch_port: 2
    template: template_file.j2
    action: show

- name: Remove existing configuration from interface Ethernet2. Run task.
  community.network.cv_server_provision:
    host: cvp_node
    username: cvp_user
    password: cvp_pass
    protocol: https
    server_name: new_server
    switch_name: eos_switch_1
    switch_port: 2
    template: template_file.j2
    action: remove
    auto_run: True

- name: Add template configuration to interface Ethernet2. No VLAN. Run task.
  community.network.cv_server_provision:
    host: cvp_node
    username: cvp_user
    password: cvp_pass
    protocol: https
    server_name: new_server
    switch_name: eos_switch_1
    switch_port: 2
    template: single_attached_trunk.j2
    action: add
    auto_run: True

- name: Add template with VLAN configuration to interface Ethernet2. Run task.
  community.network.cv_server_provision:
    host: cvp_node
    username: cvp_user
    password: cvp_pass
    protocol: https
    server_name: new_server
    switch_name: eos_switch_1
    switch_port: 2
    port_vlan: 22
    template: single_attached_vlan.j2
    action: add
    auto_run: True

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
changed
булево
успех
Указывает, были ли внесены изменения в конфигурацию

Пример:
True
currentConfigBlock
строка
при action = show
Текущий блок конфигурации для указанного пользователем интерфейса

Пример:
interface Ethernet4 !
fullConfig
строка
при action = add или remove
Полная конфигурация конфигуратора после обновления

Пример:
! interface Ethernet3 ! interface Ethernet4 !
newConfigBlock
строка
при action = add или remove
Новый блок конфигурации для указанного пользователем интерфейса

Пример:
interface Ethernet3 description example no switchport !
oldConfigBlock
строка
при action = add или remove
Текущий блок конфигурации для указанного пользователем интерфейса до внесения каких-либо изменений

Пример:
interface Ethernet3 !
portConfigurable
булево
успех
Указывает, есть ли у указанного пользователем порта запись в конфигураторе, к которому Ansible имеет доступ

Пример:
True
switchConfigurable
булево
успех
Указывает, есть ли у указанного пользователем коммутатора примененный к нему конфигуратор, который CVP разрешено редактировать

Пример:
True
switchInfo
словарь
успех
Информация от CVP, описывающая настраиваемый коммутатор

Пример:
{'architecture': 'i386', 'bootupTimeStamp': 1491264298.21, 'complianceCode': '0000', 'complianceIndication': 'NONE', 'deviceInfo': 'Registered', 'deviceStatus': 'Registered', 'fqdn': 'veos1', 'hardwareRevision': '', 'internalBuildId': '12-12', 'internalVersion': '4.17.1F-11111.4171F', 'ipAddress': '192.168.1.20', 'isDANZEnabled': 'no', 'isMLAGEnabled': 'no', 'key': '00:50:56:5d:e5:e0', 'lastSyncUp': 1496432895799, 'memFree': 472976, 'memTotal': 1893460, 'modelName': 'vEOS', 'parentContainerId': 'container_13_5776759195930', 'serialNumber': '', 'systemMacAddress': '00:50:56:5d:e5:e0', 'taskIdList': [], 'tempAction': None, 'type': 'netelement', 'unAuthorized': False, 'version': '4.17.1F', 'ztpMode': 'false'}
taskCompleted
булево
при action = add или remove, и auto_run = true, и изменения конфигурации
Указывает, успешно ли завершилась созданная и выполненная задача

Пример:
True
taskCreated
булево
при action = add или remove, и auto_run = true или false, и изменения конфигурации
Указывает, была ли создана задача из-за изменений конфигурации

Пример:
True
taskExecuted
булево
при action = add или remove, и auto_run = true, и изменения конфигурации
Указывает, выполнила ли автоматизация запущенную задачу

Пример:
True
taskId
строка
при action = add или remove, и auto_run = true или false, и изменения конфигурации
Идентификатор задачи, созданной CVP из-за изменений в конфигураторе

Пример:
500
updateConfigletResponse
строка
при action = add или remove и изменения конфигурации
Ответ, возвращаемый CVP при запуске обновления конфигуратора

Пример:
Конфигурация veos1-server успешно обновлена, и запущена задача.


Авторы

  • EOS+ CS (ansible-dev@arista.com) (@mharista)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/network/cv_server_provision_module.html

Spec-Zone.ru

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