cisco.nxos.nxos_install_os – Настройка параметров загрузки, таких как загрузочный образ, образ kickstart и issu.
Примечание
Этот плагин входит в состав коллекции cisco.nxos (версия 1.3.1).
Для его установки используйте: ansible-galaxy collection install cisco.nxos
Для использования в книге задач укажите: cisco.nxos.nxos_install_os
В версии 1.0.0: для cisco.nxos
Описание
- Установка операционной системы путем настройки параметров загрузки, таких как загрузочный образ и образ kickstart, и, по желанию, выбор установки с использованием ISSU (In Server Software Upgrade).
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| issu строка |
| Обновление с помощью In Service Software Upgrade (ISSU). (Поддерживается на платформах N5k, N7k, N9k) Выбор «required» или «yes» означает, что обновления будут выполняться только в том случае, если коммутатор поддерживает ISSU. Выбор «desired» означает, что обновления будут выполняться с помощью ISSU, если это возможно, но в случае необходимости будут переключены на прерывистое обновление. Выбор «no» означает, что ISSU не используется. Вынужденное прерывистое обновление. | |
| kickstart_image_file строка | Имя файла образа kickstart на флеш-памяти. (Не требуется на всех платформах Nexus) | ||
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cliНачиная с Ansible 2.6, рекомендуется использовать connection: httpapi для NX-API.Этот параметр будет удален в релизе после 2022-06-01. Для получения дополнительной информации, пожалуйста, обратитесь к руководству NXOS Platform Options. Объект словаря, содержащий сведения о соединении. | ||
| auth_pass строка | Указывает пароль для использования, если требуется ввод привилегированного режима на удаленном устройстве. Если authorize имеет значение false, то этот аргумент ничего не делает. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTH_PASS | ||
| authorize булево |
| Инструктирует модуль ввести привилегированный режим на удаленном устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTHORIZE | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному транспорту. Значение параметра host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удаленному устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_PASSWORD | ||
| port целое число | Указывает порт для подключения к удаленному устройству. Это значение относится к транспорту cli или nxapi. Значение порта по умолчанию соответствует соответствующему обычному порту транспорта, если он не предоставлен в задаче (cli=22, http=80, https=443). | ||
| ssh_keyfile строка | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE | ||
| timeout целое число | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку. NX-API может медленно возвращать результат при выполнении длительных команд (sh mac, sh bgp и т.д.). | ||
| transport строка |
| Настраивает транспортное соединение для подключения к удаленному устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi. | |
| use_proxy булево |
| Если no, переменные окружения http_proxy и https_proxy будут игнорироваться. | |
| use_ssl булево |
| Настраивает transport для использования SSL, если значение равно yes только при transport=nxapi, в противном случае это значение игнорируется. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_USERNAME | ||
| validate_certs булево |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых лично сайтах, использующих самозаверенные сертификаты. Если аргумент transport не nxapi, это значение игнорируется. | |
| system_image_file строка / обязательный | Имя файла системного (или объединенного) образа на флеш-памяти. | ||
Примечания
Примечание
- Тестировалось на следующих платформах и образах - N9k 7.0(3)I4(6), 7.0(3)I5(3), 7.0(3)I6(1), 7.0(3)I7(1), 7.0(3)F2(2), 7.0(3)F3(2) - N3k 6.0(2)A8(6), 6.0(2)A8(8), 7.0(3)I6(1), 7.0(3)I7(1) - N7k 7.3(0)D1(1), 8.0(1), 8.1(1), 8.2(1)
- Для этого модуля необходимо установить таймеры ANSIBLE_PERSISTENT_CONNECT_TIMEOUT и ANSIBLE_PERSISTENT_COMMAND_TIMEOUT на 600 секунд или более. Модуль завершит работу, если таймеры не установлены должным образом.
- При использовании соединения local, ANSIBLE_PERSISTENT_CONNECT_TIMEOUT и ANSIBLE_PERSISTENT_COMMAND_TIMEOUT можно установить только с помощью переменных окружения или файла ansible.cfg.
- Не включайте полные пути к файлам, указывайте только имена файлов, хранящиеся в корневом каталоге флеш-памяти.
- Этот модуль пытается установить программное обеспечение немедленно, что может вызвать перезагрузку.
- В режиме проверки модуль укажет, требуется ли обновление, и является ли обновление прерывистым или непрерывным (ISSU).
- Дополнительную информацию о использовании CLI и NX-API см. в руководстве NXOS Platform Options.
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide.
- Для получения дополнительной информации об использовании Ansible для управления устройствами Cisco см. страницу интеграции Cisco Cisco integration page.
Примеры
- name: Install OS on N9k
check_mode: no
cisco.nxos.nxos_install_os:
system_image_file: nxos.7.0.3.I6.1.bin
issu: desired
- name: Wait for device to come back up with new image
wait_for:
port: 22
state: started
timeout: 500
delay: 60
host: '{{ inventory_hostname }}'
- name: Check installed OS for newly installed version
nxos_command:
commands: [show version | json]
provider: '{{ connection }}'
register: output
- assert:
that:
- output['stdout'][0]['kickstart_ver_str'] == '7.0(3)I6(1)'
Возвращаемые значения
Общие возвращаемые значения описаны в документации, а следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| install_state словарь | всегда | Информация о загрузке и установке. Пример: {'install_state': ['Проверка совместимости выполнена:', 'Модуль загрузки Тип установки Причина', '------ -------- -------------- ------------ ------', ' 1 yes непрерывная сброс ', 'Образы будут обновлены в соответствии со следующей таблицей:', 'Модуль Образ Текущая версия (приоритет:альтернатива) Новая версия Необходимость обновления', '------ ---------- ---------------------------------------- -------------------- ------------', ' 1 nxos 7.0(3)I6(1) 7.0(3)I7(1) да', ' 1 bios v4.4.0(07/12/2017) v4.4.0(07/12/2017) нет']} |
Авторы
- Jason Edelman (@jedelman8)
- Gabriele Gerbibo (@GGabriele)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/cisco/nxos/nxos_install_os_module.html