Планирование платформы с поддержкой Netconf
На этой странице подробно описано, как работает соединение netconf в Ansible и как его использовать.
Доступные соединения
| Протокол | XML по SSH |
| Непрямой доступ | через шлюз (хост перехода) |
| Настройки соединения | ansible_connection: netconf |
Для устаревших playbooks Ansible по-прежнему поддерживает ansible_connection=local только для модуля netconf_config. Рекомендуется как можно скорее перейти на ansible_connection=netconf.
Использование NETCONF в Ansible
Включение NETCONF
Прежде чем использовать NETCONF для подключения к коммутатору, необходимо:
- установить пакет
ncclientPython на вашем(их) контрольном(ых) узле(ях) сpip install ncclient - включить NETCONF на устройстве(ях) Junos OS
Для включения NETCONF на новом коммутаторе через Ansible используйте модуль, специфичный для платформы, через подключение по командной строке или установите его вручную. Например, настройте переменные уровня платформы так же, как в примере выше, затем запустите задачу playbook так:
- name: Enable NETCONF connection: network_cli junos_netconf: when: ansible_network_os == 'junos'
После включения NETCONF измените переменные для использования подключения NETCONF.
Пример инвентаризации NETCONF [junos:vars]
[junos:vars] ansible_connection=netconf ansible_network_os=junos ansible_user=myuser ansible_password=!vault |
Пример задачи NETCONF
- name: Backup current switch config
netconf_config:
backup: yes
register: backup_junos_location
Пример задачи NETCONF с настраиваемыми переменными
- name: configure interface while providing different private key file path
netconf_config:
backup: yes
register: backup_junos_location
vars:
ansible_private_key_file: /home/admin/.ssh/newprivatekeyfile
Примечание: Для конфигурируемых переменных плагина подключения nectonf .. _Ссылка: https://docs.ansible.com/ansible/latest/plugins/connection/netconf.html
Предупреждение
Никогда не храните пароли в открытом виде. Рекомендуется использовать ключи 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.8/network/user_guide/platform_netconf_enabled.html