cv_server_provision - Обеспечение порта сервера путём применения или удаления конфигурации шаблона к конфигуратору Arista CloudVision Portal, применённому к коммутатору.
В версии 2.4.
Описание
- Этот модуль позволяет команде серверной части обеспечивать сетевые порты серверов для новых серверов, не обращаясь к Arista CVP или не прося команды сети сделать это за них. Предоставьте информацию для подключения к CVP, стойке коммутатора, порту, к которому подключён новый сервер, необязательный VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия: добавить (применяет шаблон конфигурации к порту), удалить (сбрасывает конфигурацию интерфейса по умолчанию) и показать (возвращает текущую конфигурацию порта).
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Jinja2
- cvprac >= 0.7.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| действие |
| Действие, которое модуль должен выполнить. Действия: добавить, которое применяет указанную конфигурацию шаблона к порту, удалить, которое сбрасывает указанную конфигурацию интерфейса по умолчанию, и показать, которое вернёт текущую конфигурацию порта без изменений. |
| автозапуск логическое значение |
| Флаг, определяющий, будет ли модуль выполнять задачу CVP, запущенную в результате изменений в конфигураторе коммутатора. При добавлении или удалении действия, которое приводит к изменению конфигуратора коммутатора, CVP запустит задачу, которая должна быть выполнена для применения конфигурации к коммутатору. Если этот параметр имеет значение True, модуль определит номер задачи, созданной изменением конфигурации, выполнит её и подождёт завершения задачи. Если параметр имеет значение False, задача останется в состоянии «Ожидание» в CVP для проверки и выполнения сетевым администратором. |
| хост обязательный | Имя хоста или IP-адрес узла CVP, к которому производится подключение. | |
| пароль обязательный | Пароль пользователя, который будет использоваться для подключения к CVP для вызовов API. | |
| порт | Номер порта, который следует использовать при выполнении вызовов API к узлу CVP. По умолчанию используется порт по умолчанию для указанного протокола. Порт 80 для http и порт 443 для https. | |
| vlan_порта | VLAN, который должен быть применён к порту для этого сервера. Этот параметр зависит от правильного шаблона, поддерживающего предоставление VLAN с ним. Если порт VLAN, указанный в шаблоне, не поддерживает это, модуль завершится без изменений. Если указан шаблон, требующий VLAN порта, но VLAN порта не указан, модуль завершится без изменений. | |
| протокол |
| Протокол, который следует использовать при выполнении вызовов API к CVP. CVP по умолчанию использует https, и более новые версии CVP больше не поддерживают http. |
| имя_сервера обязательный | Имя хоста или идентификатор сервера, порт коммутатора которого необходимо предоставить. | |
| имя_коммутатора обязательный | Имя хоста коммутатора, для которого настраивается сервер, которому предоставляется доступ. | |
| порт_коммутатора обязательный | Физический номер порта коммутатора, к которому подключён новый сервер. | |
| шаблон обязательный | Путь к файлу шаблона в формате Jinja, содержащему блок конфигурации, который будет применён к указанному порту коммутатора. В этом шаблоне переменные поля будут заменены модулем перед применением к конфигурации коммутатора. | |
| имя_пользователя обязательный | Пользователь, который будет использоваться для подключения к 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 | успех | Указывает, были ли внесены изменения в конфиглет Пример: True |
| currentConfigBlock string | при action = show | Текущий блок конфигурации для указанного пользователем интерфейса Пример: interface Ethernet4 ! |
| fullConfig string | при action = add или remove | Полная конфигурация конфиглета после обновления Пример: ! interface Ethernet3 ! interface Ethernet4 ! |
| newConfigBlock string | при action = add или remove | Новый блок конфигурации для указанного пользователем интерфейса Пример: interface Ethernet3 description example no switchport ! |
| oldConfigBlock string | при action = add или remove | Текущий блок конфигурации для указанного пользователем интерфейса до внесения изменений Пример: interface Ethernet3 ! |
| portConfigurable bool | успех | Указывает, есть ли у указанного пользователем порта запись в конфиглете, к которой Ansible имеет доступ Пример: True |
| switchConfigurable bool | успех | Указывает, есть ли у указанного пользователем коммутатора конфиглет, который CVP разрешено редактировать Пример: True |
| switchInfo dictionary | успех | Информация от 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 bool | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, успешно ли завершилась задача, созданная и выполненная Пример: True |
| taskCreated bool | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Указывает, была ли создана задача из-за изменений конфиглета Пример: True |
| taskExecuted bool | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, выполнила ли автоматизация запущенную задачу Пример: True |
| taskId string | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Идентификатор задачи, созданной CVP из-за изменений конфиглета Пример: 500 |
| updateConfigletResponse string | при action = add или remove и изменения конфигурации | Ответ, возвращаемый CVP при запуске обновления конфиглета Пример: Конфиглет veos1-server успешно обновлен и запущена задача. |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратной совместимости интерфейса.
Техническое обслуживание
Этот модуль помечен как общественный, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются сообществом Ansible, см. в разделе здесь.
Автор
- 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.6/modules/cv_server_provision_module.html