Spec-Zone.ru › Ansible

Параметры платформы IOS-XR

Коллекция Cisco IOS-XR поддерживает несколько способов подключения. На этой странице описано, как каждый способ подключения работает в Ansible и как его использовать.

  • Доступные подключения
  • Использование CLI в Ansible

    • Пример инвентаря CLI [iosxr:vars]
    • Пример задачи CLI
  • Использование NETCONF в Ansible

    • Включение NETCONF
    • Пример инвентаря NETCONF [iosxr:vars]
    • Пример задачи NETCONF

Доступные подключения

CLI

NETCONF

только для модулей iosxr_banner, iosxr_interface, iosxr_logging, iosxr_system, iosxr_user

Протокол

SSH

XML через SSH

Учётные данные

используются SSH-ключи / SSH-agent, если доступны

при использовании пароля принимается -u myuser -k

используются SSH-ключи / SSH-agent, если доступны

при использовании пароля принимается -u myuser -k

Непрямой доступ

через бастионный узел (промежуточный хост)

через бастионный узел (промежуточный хост)

Параметры подключения

ansible_connection:

ansible.netcommon.network_cli

ansible_connection:

ansible.netcommon.netconf

Режим enable
(повышение привилегий)

не поддерживается

не поддерживается

Формат возвращаемых данных

См. документацию соответствующего модуля

См. документацию соответствующего модуля

Использование ansible_connection: local объявлено устаревшим. Вместо него используйте ansible_connection: ansible.netcommon.network_cli или ansible_connection: ansible.netcommon.netconf.

Использование CLI в Ansible

Пример инвентаря CLI [iosxr:vars]

[iosxr:vars]
ansible_connection=ansible.netcommon.network_cli
ansible_network_os=cisco.iosxr.iosxr
ansible_user=myuser
ansible_password=!vault...
ansible_paramiko_proxy_command='-o ProxyCommand="ssh -W %h:%p -q bastion01"'

Примечание

Переменная ansible_paramiko_proxy_command объявлена устаревшей вместе с модулем подключения на основе Paramiko. Вместо неё используйте ansible_libssh_proxy_command с модулем подключения libssh. Подробнее о переходе с Paramiko на libssh см. в статье Переход на ssh_type libssh для ansible.netcommon.network_cli во всех сетевых коллекциях Ansible.

  • Если вы используете SSH-ключи (в том числе ssh-agent), конфигурацию ansible_password можно удалить.
  • Если вы подключаетесь напрямую к хосту (не через бастионный узел или промежуточный хост), конфигурацию ansible_paramiko_proxy_command можно удалить.
  • Если вы подключаетесь к хосту через бастионный узел или промежуточный хост, нельзя указывать пароль SSH в директиве ProxyCommand. Чтобы секретные данные не попали в открытый доступ (например, в вывод ps), SSH не поддерживает передачу паролей через переменные окружения.

Пример задачи CLI

- name: Retrieve IOS-XR version
  cisco.iosxr.iosxr_command:
    commands: show version
  when: ansible_network_os == 'cisco.iosxr.iosxr'

Использование NETCONF в Ansible

Включение NETCONF

Прежде чем подключаться к коммутатору по NETCONF, необходимо:

  • установить пакет Python ncclient на управляющем узле (узлах) с помощью pip install ncclient
  • включить NETCONF на устройстве (устройствах) Cisco IOS-XR

Чтобы включить NETCONF на новом коммутаторе с помощью Ansible, используйте модуль cisco.iosxr.iosxr_netconf через подключение CLI. Настройте переменные уровня платформы так же, как в приведённом выше примере CLI, а затем выполните задачу playbook, например:

- name: Enable NETCONF
  connection: ansible.netcommon.network_cli
  cisco.iosxr.iosxr_netconf:
  when: ansible_network_os == 'cisco.iosxr.iosxr'

После включения NETCONF измените переменные, чтобы использовать подключение NETCONF.

Пример инвентаря NETCONF [iosxr:vars]

[iosxr:vars]
ansible_connection=ansible.netcommon.netconf
ansible_network_os=cisco.iosxr.iosxr
ansible_user=myuser
ansible_password=!vault |
ansible_paramiko_proxy_command='-o ProxyCommand="ssh -W %h:%p -q bastion01"'

Пример задачи NETCONF

- name: Configure hostname and domain-name
  cisco.iosxr.iosxr_system:
    hostname: iosxr01
    domain_name: test.example.com
    domain_search:
      - ansible.com
      - redhat.com
      - cisco.com

Предупреждение

Никогда не храните пароли в открытом виде. Для аутентификации SSH-подключений рекомендуется использовать SSH-ключи. Ansible поддерживает ssh-agent для управления SSH-ключами. Если для аутентификации SSH-подключений необходимо использовать пароли, рекомендуется зашифровать их с помощью Ansible Vault.

См. также

Настройка параметров тайм-аута

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/network/user_guide/platform_iosxr.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API