Spec-Zone.ru › Ansible 2.9

IOS-XR Платформа Опции

IOS-XR поддерживает несколько подключений. Эта страница содержит подробную информацию о работе каждого подключения в Ansible и о способах его использования.

Тема

  • IOS-XR Платформа Опции
    • Доступные подключения
    • Использование 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-агент, если он присутствует

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

использует SSH ключи / SSH-агент, если он присутствует

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

Непрямой доступ через бастион (шлюз) через бастион (шлюз)
Параметры подключения ansible_connection: network_cli ansible_connection: netconf
Режим включения
(На повышение привилегий)
не поддерживается не поддерживается
Формат возвращаемых данных См. документацию отдельных модулей См. документацию отдельных модулей

Для устаревших playbooks Ansible по-прежнему поддерживает ansible_connection=local для всех модулей IOS-XR. Рекомендуется как можно скорее перейти на использование ansible_connection=netconf или ansible_connection=network_cli

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

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

[iosxr:vars]
ansible_connection=network_cli
ansible_network_os=iosxr
ansible_user=myuser
ansible_password=!vault...
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • Если вы используете SSH ключи (включая ssh-агент), вы можете удалить настройку ansible_password
  • Если вы обращаетесь к хосту напрямую (не через бастион/шлюз), вы можете удалить настройку ansible_ssh_common_args
  • Если вы обращаетесь к хосту через бастион/шлюз, вы не можете включать свой SSH пароль в директиву ProxyCommand. Для предотвращения утечки секретов (например, в выводе ps), SSH не поддерживает предоставление паролей через переменные окружения.

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

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

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

Включение NETCONF

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

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

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

- name: Enable NETCONF
  connection: network_cli
  iosxr_netconf:
  when: ansible_network_os == 'iosxr'

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

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

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

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

- name: Configure hostname and domain-name
  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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/network/user_guide/platform_iosxr.html

Spec-Zone.ru

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