использование netconf_get в сборнике ansible playbook

#ansible #netconf

#ansible #netconf

Вопрос:

Я тестирую использование netconf через Ansible, и я продолжаю получать эту ошибку при запуске сборника воспроизведения:

ansible.module_utils.connection.Ошибка подключения: исключение аутентификации (‘Время ожидания аутентификации.’,)

Я могу использовать ssh через порт 830 для моего устройства Cisco с сервера сценариев: ssh cisco@10.1.1.1 -страница 830 -s netconf

Это сборник:

 ---
- name: My Playbook
  hosts: 'my_host'
  gather_facts: false
    
  tasks:
  - name: Execute the get_config RPC
    netconf_get:
      display: json
    register: result
  - name: Print the configuration as JSON
    debug:
      var: result.output
  

И инвентарь выглядит примерно так:

 [my_lab:children]
my_lab_iosxr

[my_lab:vars]
look_for_keys = False
host_key_checking  = False
ansible_ssh_pass = 'cisco'
ansible_user = 'cisco'

[my_lab_iosxr]
my_host ansible_host=10.1.1.1 ansible_network_os=iosxr ansible_connection=netconf
  

Я должен добавить, что я вижу эту ошибку на консоли устройства cisco при попытке воспроизведения выше:

8 сентября 17:37:42.218 UTC: SSHD_[67398]: %SECURITY-SSHD-3-ERR_GENERAL: Не удалось получить запрос на аутентификацию пользователя

Комментарии:

1. Я не знаком с netconf собой, но я не понимаю, где вы указываете Ansible использовать порт 830 для подключений к вашему коммутатору.

2. @larsks спасибо за ваш ответ. При установке ansible_connection=netconf по умолчанию используется порт 830: docs.ansible.com/ansible/latest/plugins/connection/netconf.html

3. Спасибо, сегодня я кое-что узнал :).

Ответ №1:

Похоже, я нашел ответ на свой собственный вопрос.

Я решил просто написать свой собственный модуль netconf на python, и я получал ту же ошибку.

Итак, я переключился на использование python, установленного на другой машине, и работает тот же код.

Похоже, что есть проблема с версией python, установленной на этом сервере…