community.network.cv_server_provision – Настройка порта сервера путем применения или удаления шаблона конфигурации к конфигурации Arista CloudVision Portal, применяемой к коммутатору.
Примечание
Этот плагин является частью коллекции community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в книге задач укажите: community.network.cv_server_provision.
Описание
- Этот модуль позволяет команде серверов настраивать сетевые порты серверов для новых серверов, без необходимости доступа к Arista CVP или обращения к команде сети. Укажите информацию для подключения к CVP, стойке коммутатора, порту подключения нового сервера, необязательно VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия: добавить (применить шаблон конфигурации к порту), удалить (сбросить конфигурацию интерфейса по умолчанию) и показать (вернуть текущую конфигурацию порта).
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Jinja2
- cvprac >= 0.7.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action строка |
| Действие, которое должен выполнить модуль. Действия: add – применяет указанный шаблон конфигурации к порту, remove – сбрасывает конфигурацию указанного интерфейса по умолчанию, show – возвращает текущую конфигурацию порта без изменений. |
| auto_run логическое значение |
| Флаг, определяющий, будет ли модуль выполнять задачу CVP, созданную в результате изменений в конфигурации коммутатора. Когда выполняется действие добавления или удаления, что приводит к изменению конфигурации коммутатора, 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 строка |
| Протокол для использования при выполнении 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 описание пример 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/cv_server_provision_module.html