cv_server_provision – Настройка порта сервера путём применения или удаления конфигурации шаблона к конфигуратору Arista CloudVision Portal, применяемому к коммутатору
Новое в версии 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 шаблон не поддерживает это, модуль завершится без изменений. Если в шаблоне указан требуемый port vlan, но port 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 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 boolean | успех | Указывает, есть ли у указанного пользователем порта запись в configlet, к которой Ansible имеет доступ Пример: True |
| switchConfigurable boolean | успех | Указывает, применяется ли к указанному пользователю коммутатору configlet, который 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 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 string | при action = add или remove, и auto_run = true или false, и изменения конфигурации | Идентификатор задачи, созданный CVP из-за изменений в configlet Пример: 500 |
| updateConfigletResponse string | при 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.8/modules/cv_server_provision_module.html