cnos_image - Выполнение обновления/загрузки прошивки с удаленного сервера на устройствах с Lenovo CNOS
Новая версия 2.3.
Описание
- Этот модуль позволяет работать с образами прошивки коммутаторов. Он предоставляет способ загрузки образа прошивки на сетевое устройство с удаленного сервера с использованием FTP, SFTP, TFTP или SCP. Первым шагом является создание каталога, из которого можно получить доступ к удаленному серверу. Следующим шагом является указание полного пути к файлу расположения образа. Также необходимо указать учетные данные аутентификации, требуемые удаленным сервером. По умолчанию этот метод делает загруженный образ прошивки активным, который будет использоваться коммутатором во время следующей перезагрузки. Этот модуль использует SSH для управления конфигурацией сетевого устройства. Результаты операции будут помещены в каталог с именем «results», который должен быть создан пользователем в локальном каталоге, где выполняется playbook. Дополнительную информацию об этом модуле от 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) | Эта переменная используется для поиска файла хостов в /etc/ansible/hosts и определения IP-адреса устройства, на которое будет применена шаблон. Обычно в playbook используется ключевое слово Ansible {{ inventory_hostname }} в качестве абстракции группы сетевых элементов, которые необходимо настроить. | |
| imgpath обязательно | Указывает полный путь к файлу образа на удаленном сервере. В случае использования относительного пути в качестве значения переменной, необходимо указать корневую папку для пользователя сервера. | |
| imgtype обязательно |
| Указывает тип образа прошивки, который необходимо загрузить |
| outputfile обязательно (добавлен в 2.3) | Указывает путь к файлу, где сохраняется вывод каждого выполнения команды. Здесь сохраняются каждая команда, указанная в объединенном файле шаблона, и каждый ответ от устройства. Обычно расположением является папка results, но вы можете выбрать другое расположение в зависимости от разрешений на запись. | |
| password обязательно (добавлен в 2.3) | Настраивает пароль, используемый для аутентификации подключения к удаленному устройству. Значение параметра password используется для аутентификации сеанса SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. | |
| protocol обязательно |
| Относится к протоколу, используемому сетевым устройством для взаимодействия с удаленным сервером, откуда загружается образ прошивки. Доступны FTP, SFTP, TFTP или SCP. Любые другие протоколы приведут к ошибке. Если этот параметр не указан, значение по умолчанию не используется. |
| serverip обязательно | Указывает IP-адрес удаленного сервера, откуда будет загружен образ программного обеспечения. | |
| serverpassword | Укажите пароль для сервера, соответствующий используемому протоколу. | |
| serverusername обязательно | Укажите имя пользователя для сервера, соответствующее используемому протоколу. | |
| username обязательно (добавлен в 2.3) | Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Значение параметра username используется для аутентификации сеанса SSH. Хотя, как правило, значение должно поступать из файла инвентаризации, вы также можете указать его как переменную. Этот параметр необязателен. Если он не указан, значение по умолчанию не будет использоваться. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Lenovo см. на сайте https://www.ansible.com/ansible-lenovo.
Примеры
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]['ansible_ssh_user'] }}"
password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
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]['ansible_ssh_user'] }}"
password: "{{ hostvars[inventory_hostname]['ansible_ssh_pass'] }}"
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 строка | всегда | Сообщение об успехе или ошибке Пример: Файл образа передан на устройство |
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантирует обратной совместимости.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- Anil Kumar Muraleedharan (@amuraleedhar)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/cnos_image_module.html