Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Usar Ansible para recuperar datos de dispositivos Junos

Juniper Networks proporciona módulos de Ansible que puede usar para administrar dispositivos Junos y realizar tareas operativas y de configuración en los dispositivos. Los módulos no requieren Python en el dispositivo administrado porque utilizan Junos PyEZ y la API XML de Junos a través de NETCONF para interactuar con el dispositivo. Por lo tanto, cuando utilice Ansible para realizar operaciones en dispositivos Junos, debe ejecutar los módulos de Ansible localmente en el nodo de control. Como resultado, Ansible recopila de forma predeterminada datos del nodo de control de Ansible en lugar del nodo administrado.

Juniper Networks proporciona un módulo que puede usar para recopilar datos del dispositivo, incluida la configuración activa, de los dispositivos Junos. En el cuadro 1 se describe el módulo disponible. El módulo utiliza el sistema de recopilación de datos Junos PyEZ para recuperar los datos del dispositivo. Para obtener más información sobre el sistema de recopilación de datos Junos PyEZ y la lista completa de claves de diccionario devueltas, consulte jnpr.junos.facts.

Tabla 1: Módulo para recopilar datos

Conjunto de contenido

Nombre del módulo

juniper.device colección

facts

El facts módulo devuelve los datos del dispositivo en el ansible_facts.junos diccionario. El módulo también le permite guardar los datos devueltos en un archivo en el nodo de control local de Ansible. Para especificar el directorio en el que guardar la información recuperada, incluya el argumento module savedir y defina la ruta al directorio de destino. Cuando se incluye el savedir argumento, el manual genera los siguientes archivos para cada dispositivo, donde hostname es el valor del hostname hecho recuperado del dispositivo, que puede ser diferente del nombre de host pasado al módulo:

  • hostname-facts.json: datos del dispositivo en formato JSON

  • hostname-inventory.xml: inventario de hardware del dispositivo en formato XML

Por ejemplo, el siguiente manual recupera los datos del dispositivo para cada dispositivo del grupo de inventario y guarda los datos de cada dispositivo en archivos independientes en el directorio del manual del nodo de control de Ansible. Dado que el manual ejecuta el facts módulo localmente, Ansible recopila de forma predeterminada datos del nodo de control. El manual incluye el gather_facts: no argumento para evitar que Ansible recopile datos del nodo de control y, en su lugar, utilice el juniper.device.facts módulo para recuperar los datos del dispositivo administrado. Para autenticarse con el dispositivo, el ejemplo utiliza claves SSH existentes en la ubicación predeterminada y, por lo tanto, no proporciona explícitamente credenciales para el facts módulo en el manual.

De forma predeterminada, el facts módulo no devuelve la configuración del dispositivo. Para devolver la configuración activa de un dispositivo, además de los datos del dispositivo, incluya la config_format opción y especifique el formato en el que desea devolver la configuración. Los valores de formato aceptables son 'json', 'set'y 'text' 'xml'. El formato solicitado debe ser compatible con la versión de Junos OS que se ejecuta en el dispositivo.

Cuando se incluye la config_format opción, el ansible_facts.junos diccionario en la respuesta del módulo incluye la config clave con la configuración en el formato especificado en una sola cadena de varias líneas. Sin embargo, incluso si el manual incluye la savedir opción, los datos de configuración no se escriben en un archivo.

Propina:

Para usar Ansible para recuperar datos de configuración de un dispositivo Junos y guardarlos en un archivo, use el config módulo en lugar del facts módulo. Para obtener más información, consulte Usar Ansible para recuperar o comparar configuraciones de Junos OS.

En el ejemplo siguiente, el manual de estrategias realiza las siguientes operaciones:

  • Recupera los datos del dispositivo y la configuración activa de cada dispositivo del grupo de inventario.

  • Guarda los datos y el inventario de hardware de cada dispositivo en archivos independientes en el directorio del manual del nodo de control de Ansible.

  • Imprime la configuración de cada dispositivo en la salida estándar