Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Uso de Junos PyEZ para configurar dispositivos Junos

RESUMEN Puede utilizar la utilidad Junos PyEZ Config o las tablas y vistas de Junos PyEZ para configurar dispositivos Junos.

Junos PyEZ le permite realizar cambios de configuración estructurados y no estructurados en dispositivos Junos. La cuenta de usuario que se usa para realizar cambios en la configuración debe tener permisos para cambiar las partes relevantes de la configuración en cada dispositivo. Si no define un usuario, el usuario predeterminado es $USER.

En las secciones siguientes se comparan los cambios de configuración estructurados y no estructurados y se proporcionan detalles sobre el proceso de configuración de Junos PyEZ al realizar cambios de configuración no estructurados con la Config utilidad o cambios de configuración estructurados mediante tablas y vistas.

Descripción de los cambios de configuración estructurados y no estructurados

Los cambios de configuración no estructurados, que consisten en cargar datos de configuración estáticos o con plantillas con formato de texto ASCII, elementos XML de Junos, comandos de Junos OS set o notación de objetos JavaScript (JSON), se realizan mediante la jnpr.junos.utils.config.Config utilidad. Por el contrario, los cambios de configuración estructurados utilizan tablas y vistas de configuración de Junos PyEZ para definir recursos específicos para configurar, por ejemplo, una cuenta de usuario de Junos OS. Cuando agrega la tabla al marco de Junos PyEZ, Junos PyEZ crea dinámicamente una clase de configuración para el recurso, que le permite configurar mediante programación ese recurso en un dispositivo.

Cuando utilice la Config utilidad para realizar cambios de configuración no estructurados en dispositivos Junos, puede cambiar cualquier parte de la configuración, pero debe utilizar uno de los formatos aceptados para los datos de configuración, así como la sintaxis correcta para ese formato. Los usuarios que estén familiarizados con los formatos de configuración admitidos y deseen la opción de modificar cualquier parte de la configuración podrían favorecer este método para los cambios de configuración. La Config utilidad también le permite revertir a una configuración previamente confirmada o cargar la configuración de rescate existente.

Los cambios de configuración estructurados, por otro lado, requieren que cree tablas y vistas para definir recursos específicos y solo le permiten configurar los recursos definidos en el dispositivo. Cuando se define un recurso estructurado, se pueden especificar las instrucciones de configuración que un usuario puede configurar para el recurso, y también se pueden definir comprobaciones de tipo y restricción para asegurarse de que los usuarios proporcionan valores aceptables para los datos en su aplicación Junos PyEZ. Una vez que se han creado una tabla y una vista, se pueden compartir y reutilizar fácilmente. Un usuario de tabla puede configurar mediante programación el recurso en un dispositivo y el usuario no necesita ningún conocimiento de los formatos de configuración compatibles ni de su sintaxis.

En la Tabla 1 se resumen los dos métodos compatibles con Junos PyEZ para realizar cambios en la configuración.

Tabla 1: Cambios en la configuración estructurada y no estructurada de Junos PyEZ

Tipo de cambio de configuración

Utilidad

Alcance

Formato de datos de configuración

Información adicional

Estructurado

Mesas y vistas

Limitado a las instrucciones de configuración definidas en la tabla y vista

Se utiliza para realizar cambios de configuración específicos

No requiere conocimientos de formatos de configuración ni de su sintaxis

Desestructurado

jnpr.junos.utils.config.Config Clase

Cualquier parte de la configuración

  • Texto

  • JSON

  • Comandos de Junos OS set

  • Junos XML

Soporta:

  • cargar datos de configuración de cadenas, objetos XML, archivos locales o remotos o plantillas Jinja2

  • Carga de la configuración de rescate

  • revertir la configuración a una versión anterior

En este tema se describe el proceso de configuración general y las operaciones y elementos comunes a ambos métodos de configuración. Para obtener información detallada acerca de cómo realizar actualizaciones de configuración mediante la Config utilidad o Tablas y vistas, consulte la documentación específica de ese método de configuración.

Para obtener más información acerca del uso de la Config utilidad para realizar cambios de configuración no estructurados, consulte los temas siguientes:

Para obtener más información acerca del uso de tablas y vistas de configuración para realizar cambios de configuración estructurados, consulte los temas siguientes:

Descripción del proceso de configuración general

Junos PyEZ le permite realizar cambios de configuración en dispositivos Junos. Después de conectarse correctamente al dispositivo, cree un Config objeto OR Table, según el método de configuración preferido, y asócielo al Device objeto. Por ejemplo:

Config (objeto)

Table (objeto)

De forma predeterminada, Junos PyEZ actualiza la configuración global candidata (también conocida como base de datos de configuración compartida). El proceso básico para realizar cambios en la configuración consiste en bloquear la base de datos de configuración, cargar los cambios de configuración, confirmar la configuración para activarla y, a continuación, desbloquear la base de datos de configuración. Cuando utilice la utilidad Junos PyEZ Config para realizar cambios de configuración no estructurados en la base de datos de configuración compartida, puede realizar estas acciones llamando a los métodos de instancia adecuados que se describen aquí:

  1. Bloquear la configuración mediante lock()

  2. Modifique la configuración realizando una de las siguientes acciones:

  3. Confirme la configuración mediante commit() , como se describe en Confirmar la configuración y utilizar Junos PyEZ para confirmar la configuración

  4. Desbloquee la configuración mediante unlock()

Si utiliza tablas y vistas para realizar cambios de configuración estructurados en un dispositivo, puede elegir llamar a los lock()métodos, load(), commit()y unlock() individualmente, o puede llamar al set() método, que llama a todos estos métodos automáticamente.

Nota:

El load() método realiza la misma función para los objetos Table y Config los objetos, pero se proporcionan parámetros diferentes en función del tipo de objeto que llame al método.

Cómo especificar el modo de configuración

De forma predeterminada, Junos PyEZ actualiza la configuración global candidata. También puede especificar un modo de configuración diferente para utilizarlo al modificar la base de datos de configuración. Para especificar un modo distinto del predeterminado, debe crear el Config objeto Table o mediante un administrador de contexto (with ... as sintaxis) y establecer el mode argumento en el modo deseado. Los modos admitidos incluyen private, exclusive, dynamic, batch, y ephemeral.

Cuando se especifica un modo distinto del predeterminado, el administrador de contexto se encarga de abrir, bloquear, cerrar y desbloquear la base de datos. Esto garantiza que no abandone involuntariamente la base de datos en un estado bloqueado. En estos casos, solo necesita llamar a los load() métodos y commit() para configurar el dispositivo.

En los ejemplos siguientes se realizan cambios de configuración mediante el configure private modo:

Nota:

El administrador de contexto controla la apertura y el bloqueo de la base de datos de configuración en private, exclusive, dynamicbatch, o ephemeral en modo. Por lo tanto, llamar a los lock() métodos o set() en uno de estos modos da como resultado una LockError excepción.

Junos PyEZ le permite actualizar la base de datos de configuración efímera en dispositivos compatibles con esta base de datos. La base de datos efímera es una base de datos de configuración alternativa que proporciona una interfaz programática rápida para realizar actualizaciones de configuración en dispositivos Junos.

Nota:

La base de datos de configuración efímera es una característica avanzada que, si se usa incorrectamente, puede tener un grave impacto negativo en el funcionamiento del dispositivo. Para obtener más información, vea Descripción de la base de datos de configuración efímera.

Para abrir y configurar la instancia predeterminada de la base de datos de configuración efímera, incluya el mode='ephemeral' argumento. Por ejemplo:

Para abrir y configurar una instancia definida por el usuario de la base de datos de configuración efímera, incluya el mode='ephemeral' argumento y establezca el ephemeral_instance argumento en el nombre de la instancia.

Cómo especificar la operación de carga

En Junos PyEZ, puede cargar los cambios de configuración mediante muchas de las mismas operaciones de carga compatibles con la CLI de Junos OS. La operación de carga deseada se especifica incluyendo u omitiendo los parámetros apropiados en el set() método al realizar cambios de configuración estructurados mediante tablas y vistas, o en el load() método para cambios de configuración estructurados o no estructurados. En la tabla 2 se resumen los parámetros necesarios para cada tipo de operación de carga.

Nota:

Dado que las load override operaciones y load update requieren una configuración completa, los argumentos y update=True no deben utilizarse al realizar cambios de overwrite=True configuración mediante Tables, que sólo modifican instrucciones específicas de la configuración.

Tabla 2: Parámetros para especificar el tipo de operación de carga en los métodos load() y set()

Operación de carga

Argumento

Descripción

Primera versión compatible de Junos PyEZ

load merge

merge=True

Combine la configuración cargada con la configuración existente.

1.0

load override

overwrite=True

Reemplace toda la configuración por la configuración cargada.

1.0

load patch

patch=True

Cargue los datos de configuración desde un archivo de revisión.

2.4.0

load replace (predeterminado)

Combine la configuración cargada con la configuración existente, pero reemplace las instrucciones de la configuración existente por aquellas que especifican la replace: etiqueta en la configuración cargada. Si no hay ninguna instrucción en la configuración existente, se agrega la instrucción en la configuración cargada.

1.0

load update

update=True

Cargue una configuración completa y compárela con la configuración existente. Cada elemento de configuración que es diferente en la configuración cargada reemplaza su elemento correspondiente en la configuración existente. Durante la operación de confirmación, solo los procesos del sistema que se ven afectados por los elementos de configuración modificados analizan la nueva configuración.

2.1.0

Cómo crear el objeto Config o Table como una propiedad de la instancia de dispositivo

El Device método class bind() permite asociar varias instancias y métodos a la Device instancia. En la aplicación Junos PyEZ, tiene la opción de enlazar el Config objeto Table o a la Device instancia. La funcionalidad de los métodos no cambia, pero la ejecución del método difiere ligeramente. Por ejemplo:

Como variable independiente:

Como propiedad enlazada: