Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Solucionar errores de conexión de Ansible al administrar dispositivos Junos

En las siguientes secciones se describen los errores de conexión que puede encontrar al usar Ansible para administrar dispositivos Junos. Estas secciones también presentan posibles causas y soluciones para cada error.

Solucionar problemas de errores de conexión fallidos o no válidos

Problema

Descripción

Durante la ejecución de un juniper.device módulo en un dispositivo Junos, el nodo de control de Ansible genera un error sobre una conexión SSH fallida o un comando desconocido. Por ejemplo:

o

Causa

Estos errores pueden producirse cuando el módulo no se ejecuta localmente en el nodo de control de Ansible.

Normalmente, Ansible requiere Python en el nodo administrado, y el nodo de control de Ansible envía el módulo al nodo, donde se ejecuta y luego se elimina. Los módulos de Juniper Networks no requieren Python en los dispositivos Junos, ya que usan Junos PyEZ y la API XML de Junos a través de NETCONF para interactuar con el dispositivo. Por lo tanto, para realizar operaciones en dispositivos Junos, debe ejecutar los módulos localmente en el nodo de control de Ansible donde está instalado Python. Si Ansible intenta ejecutar un módulo directamente en el dispositivo Junos, genera un error.

Solución

Para indicar al nodo de control de Ansible que ejecute los módulos localmente, inclúyalos juniper.device connection: local en el manual de estrategias de Ansible o incluya el argumento de la --connection local línea de comandos al ejecutar módulos individuales. Por ejemplo:

Solucionar problemas de errores de host desconocidos

Problema

Descripción

Durante la ejecución de un juniper.device módulo, el nodo de control de Ansible genera un ConnectUnknownHostError error.

Causa

El host no está definido en el archivo de inventario de Ansible o el nodo de control de Ansible no puede resolver el nombre de host.

Al ejecutar un módulo de Ansible, ya sea directamente o desde un libro de estrategias, cualquier host al que se haga referencia en los argumentos del módulo o en el libro de estrategias debe definirse en el archivo de inventario de Ansible. La ubicación predeterminada del archivo de inventario es /etc/ansible/hosts. Si el archivo de inventario hace referencia a un nombre de host, el nodo de control de Ansible debe poder resolver el nombre de host.

Solución

Actualice el archivo de inventario de Ansible para incluir el host que falta y asegúrese de que la resolución DNS funciona correctamente.

Para obtener información sobre el archivo de inventario de Ansible, consulte Descripción del archivo de inventario de Ansible al administrar dispositivos Junos , así como la documentación oficial de Ansible en https://www.ansible.com/.

Solucionar problemas de errores de conexión rechazada

Problema

Descripción

Durante la ejecución de un juniper.device módulo, el nodo de control de Ansible genera un ConnectRefusedError error. Por ejemplo:

Causa

La causa más probable de un error de conexión rechazada es que NETCONF sobre SSH no está habilitado en el dispositivo Junos.

Para probar rápidamente si NETCONF está habilitado, verifique que la cuenta de usuario que ejecuta el módulo de Ansible pueda iniciar correctamente una sesión de NETCONF con el dispositivo.

Si el usuario puede establecer correctamente una sesión de NETCONF con el dispositivo en el puerto NETCONF predeterminado (830) o en un puerto que esté configurado específicamente para NETCONF en su dispositivo, entonces NETCONF estará habilitada. De lo contrario, debe habilitar NETCONF sobre SSH en el dispositivo.

Solución

Habilite el servicio NETCONF-over-SSH en el dispositivo Junos.