junipernetworks.junos.junos_package – Устанавливает пакеты на удалённые устройства, работающие под управлением Junos
Примечание
Этот плагин входит в коллекцию junipernetworks.junos (версия 1.3.0).
Для установки используйте: ansible-galaxy collection install junipernetworks.junos.
Для использования в книге задач укажите: junipernetworks.junos.junos_package.
Добавлено в версии 1.0.0: of junipernetworks.junos
Обзор
- Этот модуль может устанавливать новые и обновлённые пакеты на удалённые устройства, работающие под управлением Junos. Модуль сравнит указанный пакет с установленным на удалённом устройстве и установит указанную версию, если есть несоответствие
Примечание
Этот модуль имеет соответствующий плагин действий.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- junos-eznc
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| force boolean |
| Аргумент force указывает модулю пропустить проверку версии пакета и установить пакет, указанный в src, на удалённом устройстве. | |
| force_host boolean |
| Аргумент force_host управляет способом добавления программного пакета или пакета на удалённый хост JUNOS и применим для устройства JUNOS QFX5100. Если значение установлено в True, оно проигнорирует все предупреждения при добавлении программного пакета или пакета хоста. | |
| issu boolean |
| Аргумент issu — это логический флаг. При установке в True, он позволяет использовать функцию унифицированного обновления программного обеспечения во время работы (ISSU), которая позволяет обновляться между двумя разными выпусками Junos OS без прерывания управляющей плоскости и с минимальными прерываниями трафика. | |
| no_copy boolean |
| Аргумент no_copy отвечает за указание удалённому устройству, откуда устанавливать пакет. При включении пакет передаётся на удалённое устройство перед установкой. | |
| provider dictionary | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации обратитесь к руководству Junos OS Platform Options. Объект словаря, содержащий данные подключения. | ||
| host string | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password string | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port integer | Указывает порт для создания подключения к удалённому устройству. Значение порта по умолчанию равно известному порту SSH 22 (для transport=cli) или порту 830 (для transport=netconf) устройства. | ||
| ssh_keyfile path | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout integer | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. | ||
| transport string |
| Настраивает транспортное подключение для подключения к удалённому устройству. | |
| username string | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| reboot boolean |
| Для того, чтобы пакет вступил в силу, удалённое устройство должно быть перезагружено. При включении этого аргумента модуль перезагрузит устройство после установки обновлённого пакета. Если этот аргумент отключён или удалённый пакет не нужно изменять, устройство не будет перезагружено. | |
| src path / обязательно | Аргумент src указывает путь к исходному пакету, который будет установлен на удалённом устройстве в случае несоответствия версии. Аргумент src может быть либо локальным путём, либо полным путём к файлу пакета для установки. псевдонимы: package | ||
| ssh_config path | Аргумент ssh_config — путь к файлу конфигурации SSH. Это можно использовать для загрузки информации SSH из файла конфигурации. Если этот параметр не задан, по умолчанию запрашивается ~/.ssh/config. | ||
| ssh_private_key_file path | Аргумент ssh_private_key_file — путь к файлу закрытого ключа SSH. Это можно использовать, если необходимо предоставить закрытый ключ вместо загрузки ключа в ssh-key-ring/среду. | ||
| validate boolean |
| Аргумент validate отвечает за указание удалённому устройству пропустить проверку совместимости текущей конфигурации устройства с устанавливаемым пакетом. При установке в значение false проверка не выполняется. | |
| version string | Аргумент version можно использовать для явного указания версии пакета, который должен быть установлен на удалённом устройстве. Если аргумент version не указан, версия извлекается из имени файла src. | ||
Примечания
Примечание
- Для этого модуля требуется включить системную службу netconf на удалённом управляемом устройстве.
- Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS Версия 15.1X53-D60.4.
- Работает только с подключениями
local. - Поскольку этот модуль использует junos-eznc для установления соединения с устройством junos, параметры конфигурации netconf необходимо передавать с помощью параметров модуля, например,
ssh_config, в отличие от других модулей junos, которые используют тип подключенияnetconf. - Дополнительную информацию об использовании командной строки и netconf см. в руководстве Junos OS Platform Options.
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide.
- Дополнительную информацию об использовании Ansible для управления устройствами сети Juniper см. на https://www.ansible.com/ansible-juniper.
Примеры
# the required set of connection arguments have been purposely left off
# the examples for brevity
- name: install local package on remote device
junipernetworks.junos.junos_package:
src: junos-vsrx-12.1X46-D10.2-domestic.tgz
- name: install local package on remote device without rebooting
junipernetworks.junos.junos_package:
src: junos-vsrx-12.1X46-D10.2-domestic.tgz
reboot: no
- name: install local package on remote device with jumpost
junipernetworks.junos.junos_package:
src: junos-vsrx-12.1X46-D10.2-domestic.tgz
ssh_config: /home/user/customsshconfig
Авторы
- Peter Sprygada (@privateip)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_package_module.html