cv_server_provision - Обеспечение порта сервера путём применения или удаления шаблона конфигурации в конфиглете Arista CloudVision Portal, который применяется к коммутатору.
Новое в версии 2.4.
Обзор
- Этот модуль позволяет команде серверов настраивать сетевые порты серверов для новых серверов без необходимости доступа к Arista CVP или обращения к команде сети. Предоставьте информацию для подключения к CVP, стойке коммутатора, порту, к которому подключен новый сервер, необязательный VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия: добавление (применяет шаблон конфигурации к порту), удаление (сбрасывает конфигурацию интерфейса по умолчанию) и отображение (возвращает текущую конфигурацию порта).
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Jinja2
- cvprac >= 0.7.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action |
| Действие, которое должен выполнить модуль. Действия: добавление, которое применяет указанный шаблон конфигурации к порту, удаление, которое сбрасывает указанную конфигурацию интерфейса по умолчанию, и отображение, которое вернет текущую конфигурацию порта без изменений. |
| auto_run |
| Флаг, определяющий, будет ли модуль выполнять задачу CVP, запущенную в результате изменений в конфиглете коммутатора. При выполнении действия добавления или удаления, приводящего к изменению конфиглета коммутатора, CVP запустит задачу, которую необходимо выполнить для применения конфигурации к коммутатору. Если этот параметр имеет значение True, модуль определит номер задачи, созданной изменением конфигурации, выполнит её и дождётся завершения задачи. Если параметр имеет значение False, задача останется в состоянии Ожидание в CVP для проверки и выполнения сетевым администратором. |
| host обязательно | Имя хоста или IP-адрес узла CVP, к которому подключаются. | |
| password обязательно | Пароль пользователя, который будет использоваться для подключения к CVP для вызовов API. | |
| port | По умолчанию: None | Номер порта, который необходимо использовать при выполнении вызовов API к узлу CVP. По умолчанию используется порт по умолчанию для указанного протокола. Порт 80 для http и порт 443 для https. |
| port_vlan | По умолчанию: None | 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
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.
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.
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.
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 bool | успех | Указывает, были ли внесены изменения в конфигурацию configlet. Пример: True |
| currentConfigBlock string | при action = show | Текущий блок конфигурации для указанного пользователем интерфейса. Пример: interface Ethernet4 ! |
| fullConfig string | при action = add или remove | Полная конфигурация configlet после обновления. Пример: ! interface Ethernet3 ! interface Ethernet4 ! |
| newConfigBlock string | при action = add или remove | Новый блок конфигурации для указанного пользователем интерфейса. Пример: interface Ethernet3 description example no switchport ! |
| oldConfigBlock string | при action = add или remove | Текущий блок конфигурации для указанного пользователем интерфейса до внесения изменений. Пример: interface Ethernet3 ! |
| portConfigurable bool | успех | Указывает, есть ли у указанного пользователем порта запись в configlet, к которой у Ansible есть доступ. Пример: True |
| switchConfigurable bool | успех | Указывает, есть ли у указанного пользователем коммутатора configlet, который CVP разрешено редактировать. Пример: True |
| switchInfo dictionary | успех | Информация от CVP, описывающая настраиваемый коммутатор. Пример: {'memTotal': 1893460, 'internalVersion': '4.17.1F-11111.4171F', 'ztpMode': 'false', 'systemMacAddress': '00:50:56:5d:e5:e0', 'tempAction': None, 'deviceStatus': 'Registered', 'taskIdList': [], 'hardwareRevision': '', 'key': '00:50:56:5d:e5:e0', 'internalBuildId': '12-12', 'lastSyncUp': 1496432895799, 'modelName': 'vEOS', 'unAuthorized': False, 'ipAddress': '192.168.1.20', 'serialNumber': '', 'fqdn': 'veos1', 'bootupTimeStamp': 1491264298.21, 'isMLAGEnabled': 'no', 'complianceCode': '0000', 'memFree': 472976, 'version': '4.17.1F', 'architecture': 'i386', 'deviceInfo': 'Registered', 'complianceIndication': 'NONE', 'type': 'netelement', 'isDANZEnabled': 'no', 'parentContainerId': 'container_13_5776759195930'} |
| taskCompleted bool | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, успешно ли завершилась задача, созданная и выполненная. Пример: True |
| taskCreated bool | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Указывает, была ли создана задача из-за изменений в configlet. Пример: True |
| taskExecuted bool | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, выполнила ли автоматизация запущенную задачу. Пример: True |
| taskId string | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Идентификатор задачи, созданный CVP из-за изменений в configlet. Пример: 500 |
| updateConfigletResponse string | при action = add или remove и изменениях конфигурации | Ответ, возвращаемый CVP при срабатывании обновления configlet. Пример: Конфигурация configlet 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.5/modules/cv_server_provision_module.html