Paleta de Rules
Las operaciones (ops) de la paleta ofrecen los mecanismos necesarios para crear reglas de automatización.
Todas tienen un menú contextual con los siguientes campos:
Configuration¶
La configuración de operaciones es común a todas las operaciones utilizadas en una regla. Después de hacer clic en esta opción del menú, se abre una nueva ventana con una pestaña de acción y seis pestañas de ventana.
Las pestañas de acción son:
- Cancel - Para cancelar todas las acciones realizadas desde el último guardado y cerrar la ventana de configuración.
- Save - Guardar toda la configuración y metadatos. Una vez guardada la configuración, la operación puede incluir algunas etiquetas para indicar algunos valores de atributos.
Las pestañas de ventana son:
1. Config¶
- Parámetros configurables para ejecutar la operación:
Name - Nombre de la operación.
Dependiendo de la operación, muestra una ventana con los campos necesarios para implementar su objetivo. La información completa sobre cada campo se describirá en el momento en que se presente la operación particular.
2. Options¶
- Parámetros configurables para ejecutar la operación:
Enabled - Para activar la operación. Su valor predeterminado está marcado.
Return Key - Clave stash definida por el usuario donde se almacenan los datos de salida después de la ejecución de la operación. Su valor se puede acceder a través del stash en la forma de:
cla.stash("<return_key_value>.output");
Needs Rollback? - Bandera de rollback que controla si realizar o no rollback en caso de falla en el mismo pase.
Si se detecta un error, comienza el rollback.
Su valor predeterminado es 'No Rollback Necessary'.
El usuario elige cuándo se establece la bandera según 4 opciones:
- Rollback Needed After - La bandera se establece después de la ejecución de la operación.
- Rollback Needed Before - La bandera se establece antes de la ejecución de la operación.
- Rollback Needed Always - La bandera se establece en el momento de la construcción del DSL.
- No Rollback Necessary - La bandera no se establece.
- Needs Rollback Key - Relacionado con la opción anterior, es un campo de texto que se muestra cuando la opción
needs_rollback?se establece en un valor diferente a 'No Rollback Necessary'. Define la operación a ejecutar en caso de error. El rollback está implementado para operaciones de scripting y fileman service. - Run Forward - Ejecutar si el pase es hacia adelante.
- Run Rollback - Ejecutar si el pase es rollback.
- Timeout - Número de segundos para que se ejecute la regla, si se alcanza el timeout, la regla se detiene con un mensaje para informar al usuario.
- Semaphore Key - Solicita un espacio de tiempo para ejecutar la regla. Después de que la regla termina, el semáforo se libera.
- Parallel Mode - Define cómo ejecutar reglas, en términos de procesamiento paralelo o en serie. Su valor predeterminado es 'No
Parallel'. Hay tres opciones disponibles:
- No Parallel - Todas las operaciones se realizan tal como están ubicadas en la regla.
- Fork and Wait - La regla se ejecuta de manera paralela y luego espera a que los hijos terminen.
- Fork and Leave - Procesamiento en paralelo pero no espera los resultados de los hijos.
- Error Handling - Define cómo tratar los errores de operación cuando ocurren. Su valor predeterminado es
Throw Errors. Hay tres opciones: - Throw Errors - Los errores de operación no se manejan de ninguna manera, se lanzan y la regla terminará en error.
- Trap Errors - Atrapa un error y espera una acción del usuario, puede ser:
- Retrying - Reintentar operación.
- Skipping - Omitir operación.
- Ignore Errors - El error se ignora.
3. Root-Cause Analysis¶
Todo lo relacionado con el Análisis de Causa Raíz:
- Root Cause - Recurso para realizar el análisis.
Ver también Root-Cause Analysis.
4. Metadata¶
Ventana que incluye metadatos de operación, que define la configuración y el comportamiento de la operación. Muestra tres columnas que contienen:
- Key - Atributo de operación.
- Type - Tipo de valor del atributo, puede ser:
- Value - El valor de la clave es un tipo simple.
- Array - El valor de la clave es un array.
- Hash - El valor de la clave es un hash.
- Value - Valor de la clave.
El contenido de esta ventana depende del tipo de operación seleccionado y la configuración definida anteriormente por el usuario. A continuación se describen los atributos comunes a todas las operaciones cuando la operación se arrastra desde la paleta a la regla:
Key- Operación registrada.ID- ID de instancia de operación, el valor está en forma dexnode-*number*.Name- Nombre de operación, es una breve descripción de qué hace la operación.Text- Su valor predeterminado es el nombre de la operación. Este campo se puede cambiar a través de la acción de renombrar del menú contextual de la operación.Icon- Imagen de operación, describe lo que hace la operación de manera gráfica.Leaf- Establecido en 0, esta clave indica que la operación contiene o puede contener operaciones anidadas.
Cuando se guardan los metadatos, se establecen otros atributos, estos son:
Data- Este atributo es un hash con los datos del formulario de configuración ingresados por el usuario.Data_key- Contiene el valor de la clave de retorno de configuración completada por el usuario.Disabled- Establecido en verdadero si la 'habilitación' de configuración de operación no está marcada.Expanded- Verdadero si la operación contiene otras operaciones anidadas.Run_forward- Este atributo se muestra si el usuario manipula la configuración run_forward. Establecido en verdadero si la configuración está marcada.Run_rollback- Se muestra si el usuario hace clic en la configuración run_rollback. Establecido en verdadero si la configuración está marcada.Parallel_mode- Atributo que indica el modo de proceso en ejecución. Puede tener tres valores diferentes:- None - Proceso ejecutándose en modo serie.
- Nohup - Proceso ejecutándose en modo fork and leave.
- Fork - Proceso ejecutándose en modo fork and wait.
Error_trap- Atributo que indica cómo atrapar errores. Puede tener tres valores diferentes:- None - Sin trampa de error.
- Ignored - Ignorar error.
- Trap - Atrapar error esperando una acción.
Semaphore_key- Contiene el nombre del semáforo completado por el usuario en la ventana de opciones semaphore_key.Timeout- Atributo con el número de segundos a esperar.Note- Contiene el contenido de la pestaña de notas.Qtip- Lo mismo que note. Los atributos que dependen del tipo de operaciones seleccionadas son:Statements- Holds_children - Indica si la operación puede contener otras operaciones anidadas dentro.
- Nested - Si el valor es 0, este atributo indica que la operación es el comienzo de la función de código.
- Children - Hash que contiene las operaciones anidadas.
ServicesRules- Id_rule - El valor de esta clave es el número de ID de regla.
5. Note¶
Ventana que incluye notas escritas por el usuario.
Muestra una ventana que incluye notas de operación ingresadas por el usuario o para que el usuario las incluya.
Copy¶
Copiar operación del área de árbol de reglas al portapapeles.
Cut¶
Soltar operación del área de árbol de reglas al portapapeles.
Paste¶
Copiar operación del portapapeles anidada a la operación seleccionada, si es posible.
DSL¶
Muestra una ventana con el título DSL: <rule name>. Se muestran una pestaña de acción y tres áreas diferentes en la ventana DSL, la
pestaña de acción está compuesta por:
- Run - botón para ejecutar código DSL desde el área DSL. Las áreas son:
- Stash area - Área de texto con variables stash en formato yaml, las variables pueden ser establecidas por el usuario, si la regla a ejecutar es de tipo job chain, tres variables stash se muestran por defecto:
- changesets: []
- elements: []
- job_step: CHECK
- DSL area - Área de texto con código DSL de la operación y su configuración, este código puede ser cambiado y ejecutado.
- Output area - Área de texto con dos pestañas
- Ouput - Resultado de la ejecución del código DSL.
- Stash - Valores stash de la ejecución del código DSL.
- Toggle - Cambiar el estado de la operación de habilitado a deshabilitado y viceversa. Si la operación no está activa, se muestra una línea a través de la operación.
- Delete - Eliminar operación seleccionada.
Usar variables¶
Una vez que la operación de regla se coloca en la ventana del árbol de reglas, hacer doble clic en la operación habilitará la edición.
Cada ejecución de regla tiene un stash de variables, estas variables se pueden usar en los campos de configuración de la operación de regla para personalizar aún más sus reglas.
Por ejemplo, el título de la regla podría ser Deploy to ${bl} para que use el
valor bl (el entorno) como parte del título.
Para una guía completa sobre cómo usar variables como parte de la configuración de la operación de regla, consulte la guía de Variable Parsing.