cnos_image — Выполнение обновления/загрузки прошивки с удаленного сервера на устройствах с Lenovo CNOS
Новое в версии 2.3.
Описание
- Этот модуль позволяет работать с изображениями прошивки коммутатора. Он предоставляет способ загрузки изображения прошивки на сетевое устройство с удаленного сервера с использованием FTP, SFTP, TFTP или SCP. Первым шагом является создание каталога, из которого можно получить доступ к удаленному серверу. Следующим шагом является предоставление полного пути к файлу расположения изображения. Также необходимо предоставить данные об аутентификации, требуемые удаленным сервером. По умолчанию этот метод делает загруженное изображение прошивки активным изображением, которое будет использоваться коммутатором при следующем перезапуске. Этот модуль использует SSH для управления конфигурацией сетевых устройств. Результаты операции будут помещены в каталог с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется исполняемый файл Ansible. Дополнительную информацию об этом модуле от Lenovo и настройку его использования для ваших задач можно найти по адресу http://systemx.lenovofiles.com/help/index.jsp?topic=%2Fcom.lenovo.switchmgt.ansible.doc%2Fcnos_image.html
Параметры
| параметр | обязательно | значение по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| deviceType (добавлен в 2.3)
| да |
| Указывает тип устройства, на котором выполняется метод. Варианты NE1072T, NE1032, NE1032T, NE10032, NE2572 добавлены с версии 2.4 | |
| enablePassword (добавлен в 2.3)
| нет | Настраивает пароль, используемый для входа в режим глобальной конфигурации коммутатора. Если коммутатор не запрашивает этот пароль, параметр игнорируется. Обычно значение должно поступать из файла инвентаризации, но также можно указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| host (добавлен в 2.3)
| да | Эта переменная используется для поиска файла hosts по адресу /etc/ansible/hosts и определения IP-адреса устройства, на котором будет применена шаблон. Обычно в исполняемом файле Ansible используется ключевое слово {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо настроить. | ||
| imgpath | да | Указывает полный путь к изображению на удаленном сервере. Если используется относительный путь в качестве значения переменной, необходимо указать корневую папку для пользователя сервера. | ||
| imgtype | да |
| Указывает тип изображения прошивки, который необходимо загрузить | |
| outputfile (добавлен в 2.3)
| да | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположением является папка результатов, но вы можете выбрать другое расположение в зависимости от ваших прав записи. | ||
| password (добавлен в 2.3)
| да | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Обычно значение должно поступать из файла инвентаризации, но также можно указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | ||
| protocol | да |
| Указывает протокол, используемый сетевым устройством для взаимодействия с удаленным сервером, откуда загружается изображение прошивки. Доступны FTP, SFTP, TFTP или SCP. Любые другие протоколы приведут к ошибке. Если этот параметр не указан, значение по умолчанию не будет использоваться. | |
| serverip | да | Указывает IP-адрес удаленного сервера, откуда будет загружено изображение программного обеспечения. | ||
| serverpassword | нет | Укажите пароль для сервера, относящегося к используемому протоколу. | ||
| serverusername | да | Укажите имя пользователя для сервера, относящегося к используемому протоколу. | ||
| username (добавлен в 2.3)
| да | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Обычно значение должно поступать из файла инвентаризации, но также можно указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примеры
Tasks : The following are examples of using the module cnos_image. These are written in the main.yml file of the tasks directory.
---
- name: Test Image transfer
cnos_image:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['username'] }}"
password: "{{ hostvars[inventory_hostname]['password'] }}"
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
enablePassword: "{{ hostvars[inventory_hostname]['enablePassword'] }}"
outputfile: "./results/test_image_{{ inventory_hostname }}_output.txt"
protocol: "sftp"
serverip: "10.241.106.118"
imgpath: "/root/cnos_images/G8272-10.1.0.112.img"
imgtype: "os"
serverusername: "root"
serverpassword: "root123"
- name: Test Image tftp
cnos_image:
host: "{{ inventory_hostname }}"
username: "{{ hostvars[inventory_hostname]['username'] }}"
password: "{{ hostvars[inventory_hostname]['password'] }}"
deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
enablePassword: "{{ hostvars[inventory_hostname]['enablePassword'] }}"
outputfile: "./results/test_image_{{ inventory_hostname }}_output.txt"
protocol: "tftp"
serverip: "10.241.106.118"
imgpath: "/anil/G8272-10.2.0.34.img"
imgtype: "os"
serverusername: "root"
serverpassword: "root123"
Возвращаемые значения
Общие возвращаемые значения документированы здесь Возвращаемые значения, следующие — уникальные для этого модуля:
| имя | описание | возвращено | тип | пример |
|---|---|---|---|---|
| msg | Сообщение об успехе или ошибке | всегда | строка | Файл изображения передан устройству |
Статус
Этот модуль помечен как превью, что означает, что гарантии обратной совместимости нет.
Для получения помощи в разработке модулей, если у вас возникнут проблемы, прочитайте Справочная информация по сообществу и участие в разработке, Тестирование 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/cnos_image_module.html