IOS-XR Платформенные параметры
Коллекция Cisco IOS-XR поддерживает несколько подключений. Эта страница предоставляет подробную информацию о работе каждого подключения в Ansible и о том, как его использовать.
Доступные подключения
CLI |
NETCONF только для модулей | |
|---|---|---|
Протокол | SSH | XML по SSH |
Учетные данные |
использует ключи SSH / SSH-agent, если присутствуют принимает |
использует ключи SSH / SSH-agent, если присутствуют принимает |
Непрямой доступ | через шлюз (хост перехода) | через шлюз (хост перехода) |
Настройки подключения |
|
|
Режим включения | не поддерживается | не поддерживается |
Формат возвращаемых данных | Обратитесь к документации отдельных модулей | Обратитесь к документации отдельных модулей |
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_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- Если вы используете ключи SSH (включая ssh-agent), вы можете удалить конфигурацию
ansible_password. - Если вы подключаетесь к хосту напрямую (не через шлюз/хост перехода), вы можете удалить конфигурацию
ansible_ssh_common_args. - Если вы подключаетесь к хосту через шлюз/хост перехода, вы не можете включить свой пароль 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_ssh_common_args='-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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/network/user_guide/platform_iosxr.html