cv_server_provision - Настройка порта сервера путём применения или удаления шаблона конфигурации к конфигуратору Arista CloudVision Portal, применяемому к коммутатору.
Новая версия 2.4.
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
Описание
- Этот модуль позволяет команде серверной части настраивать сетевые порты серверов для новых серверов без доступа к Arista CVP или без необходимости обращаться к команде сетевой инфраструктуры. Укажите информацию для подключения к CVP, стойке коммутатора, порту, к которому подключен новый сервер, опциональный VLAN и действие, и модуль применит конфигурацию к порту коммутатора через CVP. Действия: add (применяет шаблон конфигурации к порту), remove (сбрасывает конфигурацию интерфейса) и show (возвращает текущую конфигурацию порта).
Требования (к хосту, на котором выполняется модуль)
- Jinja2
- cvprac >= 0.7.0
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| action | нет | show |
| Действие, которое должен выполнить модуль. Действия: add, которое применяет указанный шаблон конфигурации к порту; remove, которое сбрасывает указанную конфигурацию интерфейса; и show, которое вернёт текущую конфигурацию порта без изменений. |
| auto_run | нет |
| Флаг, определяющий, будет ли модуль выполнять задачу CVP, созданную в результате изменений конфигуратора коммутатора. Когда выполняется действие add или remove, что приводит к изменению конфигуратора коммутатора, CVP запускает задачу, которая должна быть выполнена для применения конфигурации к коммутатору. Если этот параметр равен True, модуль определит номер задачи, созданной изменением конфигурации, выполнит её и подождёт завершения задачи. Если параметр равен False, задача останется в состоянии Pending в CVP для проверки и выполнения сетевым администратором. | |
| host | да | Имя хоста или IP-адрес узла CVP, к которому производится подключение. | ||
| password | да | Пароль пользователя, который будет использоваться для подключения к CVP для вызовов API. | ||
| port | нет | None | Номер порта, который нужно использовать при выполнении вызовов API к узлу CVP. По умолчанию используется порт по умолчанию для указанного протокола. Порт 80 для http и порт 443 для https. | |
| port_vlan | нет | None | VLAN, который должен быть применён к порту для этого сервера. Этот параметр зависит от правильного шаблона, который поддерживает одноранговую настройку VLAN. Если порт VLAN, указанный в указанном шаблоне, не поддерживается, модуль завершит работу без изменений. Если шаблон требует порт VLAN, но порт VLAN не указан, модуль завершит работу без изменений. | |
| protocol | нет | https |
| Протокол, который нужно использовать при выполнении вызовов 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 | True |
| currentConfigBlock | Текущий блок конфигурации для указанного пользователем интерфейса | при action = show | строка | interface Ethernet4 ! |
| fullConfig | Полная конфигурация конфигуратора после обновления | при action = add или remove | строка | ! interface Ethernet3 ! interface Ethernet4 ! |
| newConfigBlock | Новый блок конфигурации для указанного пользователем интерфейса | при action = add или remove | строка | interface Ethernet3 description example no switchport ! |
| oldConfigBlock | Текущий блок конфигурации для указанного пользователем интерфейса до внесения изменений | при action = add или remove | строка | interface Ethernet3 ! |
| portConfigurable | Указывает, есть ли у указанного пользователем порта запись в конфигураторе, к которой Ansible имеет доступ | успех | bool | True |
| switchConfigurable | Указывает, есть ли у указанного пользователем коммутатора применённый к нему конфигуратор, который CVP разрешено редактировать | успех | bool | True |
| switchInfo | Информация из 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 | Указывает, завершилась ли задача, созданная и выполненная успешно | при action = add или remove, и auto_run = true, и конфигурация изменяется | bool | True |
| taskCreated | Указывает, была ли создана задача из-за изменений конфигуратора | при action = add или remove, и auto_run = true или false, и конфигурация изменяется | bool | True |
| taskExecuted | Указывает, выполнила ли автоматизация запущенную задачу | при action = add или remove, и auto_run = true, и конфигурация изменяется | bool | True |
| taskId | Идентификатор задачи, созданной CVP из-за изменений в конфигураторе | при action = add или remove, и auto_run = true или false, и конфигурация изменяется | строка | 500 |
| updateConfigletResponse | Ответ, возвращаемый CVP при срабатывании обновления конфигуратора | при action = add или remove и конфигурация изменяется | строка | Конфигуратор veos1-server успешно обновлён, и запущена задача. |
Статус
Этот модуль помечен как превью, что означает, что гарантия обратной совместимости интерфейса не предоставляется.
Для получения помощи в разработке модулей, если вам это нужно, пожалуйста, ознакомьтесь с Информация о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cv_server_provision_module.html