cv_server_provision – Настройка порта сервера путём применения или удаления шаблона конфигурации для портала Arista CloudVision, который применяется к коммутатору.
Новое в версии 2.4.
Обзор
- Этот модуль позволяет команде серверного отдела настраивать сетевые порты серверов для новых серверов без необходимости доступа к Arista CVP или обращения к команде сетевых администраторов. Предоставьте информацию для подключения к CVP, стойке коммутатора, порту, к которому подключен новый сервер, необязательный VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия: добавить (применяет шаблон конфигурации к порту), удалить (восстанавливает исходную конфигурацию интерфейса) и показать (возвращает текущую конфигурацию порта).
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- Jinja2
- cvprac >= 0.7.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action - |
| Действие, которое должен выполнить модуль. Действия: add, которое применяет указанный шаблон конфигурации к порту, remove, которое сбрасывает указанную конфигурацию интерфейса, и show, которое вернёт текущую конфигурацию порта без изменений. |
| auto_run boolean |
| Флаг, определяющий, будет ли модуль выполнять задачу 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 - |
| Протокол, который будет использоваться при выполнении 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 boolean | успех | Указывает, были ли внесены изменения в конфигурацию configlet Пример: True |
| currentConfigBlock строка | при action = show | Текущий блок конфигурации для указанного пользователем интерфейса Пример: interface Ethernet4 ! |
| fullConfig строка | при action = add или remove | Полная конфигурация configlet после обновления Пример: ! interface Ethernet3 ! interface Ethernet4 ! |
| newConfigBlock строка | при action = add или remove | Новый блок конфигурации для указанного пользователем интерфейса Пример: interface Ethernet3 description example no switchport ! |
| oldConfigBlock строка | при action = add или remove | Текущий блок конфигурации для указанного пользователем интерфейса до внесения изменений Пример: interface Ethernet3 ! |
| portConfigurable boolean | успех | Указывает, есть ли у указанного пользователем порта запись в configlet, к которой Ansible имеет доступ Пример: True |
| switchConfigurable boolean | успех | Указывает, применен ли configlet к указанному пользователем коммутатору, который 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 boolean | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, успешно ли завершилась задача, созданная и выполненная Пример: True |
| taskCreated boolean | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Указывает, была ли создана задача из-за изменений в configlet Пример: True |
| taskExecuted boolean | при action = add или remove, и auto_run = true, и изменения конфигурации | Указывает, выполнила ли автоматизация запущенную задачу Пример: True |
| taskId строка | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Идентификатор задачи, созданной CVP из-за изменений в configlet Пример: 500 |
| updateConfigletResponse строка | при action = add или remove и изменения конфигурации | Ответ, возвращённый CVP при срабатывании обновления configlet Пример: Configlet veos1-server успешно обновлён и задача инициирована. |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/cv_server_provision_module.html