Configuración de los paquetes de scripts utilizando el objeto cbscript.json
Utilice un objeto especial JSON, cbscript.json, para incluir toda la información necesaria y poder configurar un paquete de scripts que ha añadido al catálogo.
Visión general
Al añadir un nuevo paquete de scripts al catálogo, ya sea creando uno nuevo o clonando un paquete existente y configurándolo para sus necesidades, tendrá que especificar un número de parámetros de configuración tal como se define en el panel Paquetes de scripts del catálogo. Después de subir el archivo comprimido (están admitidos los tipos de archivos .zip y .tgz) que contienen el archivo principal ejecutable y los artefactos asociados que dan soporte a la ejecución, configure los diversos mandatos y argumentos, los archivos de registro y de trabajo, las variables de entorno necesarias por el script, y otros elementos necesarios para completar la definición del paquete de scripts.
Aunque puede hacerlo manualmente en el panel Paquetes de scripts, una práctica recomendada consiste en definir los valores de configuración una vez en un archivo de objeto JSON especial que puede incluir como parte del archivo comprimido antes de subirlo en el paquete de scripts. El archivo debe tener el nombre cbscript.json, y debe estar ubicado en el directorio root del archivo comprimido subido. Puede utilizar el Kit de desarrollo de plug-ins para crear este archivo. Consulte el tema "Creación de un proyecto de paquete de scripts de carga de trabajo de IBM® " en la sección Tareas relacionadas para obtener más información.
El objeto cbscript.json describe el paquete de scripts y muestra la ubicación del script principal, script que es el punto de partida de ejecución. El archivo cbscript.json también puede contener todos los parámetros de configuración que debe especificar manualmente en el panel Paquetes de scripts. Cuando el archivo comprimido que contiene el archivo cbscript.json se ha cargado en el paquete de scripts, los diversos campos del panel Paquetes de scripts se rellenan con el contenido del archivo.
La inclusión de un archivo cbscript.json en el archivo comprimido le ayuda a asegurarse de que si el mismo paquete de scripts tiene que volverse a cargar o a compartirse en varios patrones del sistema virtual, o si necesita mover el patrón del sistema virtual a otro sistema, su definición será coherente.
Ejemplo de un archivo de objeto cbscript.json
[
{
"name": "Application Install",
"version": "1.0.0",
"description": "This script package installs the specified application",
"command": "/bin/sh ${WAS_PROFILE_ROOT}/bin/wsadmin.sh",
"log": "${WAS_PROFILE_ROOT}/logs/wsadmin.traceout",
"location": "/opt/tmp/installapp",
"timeout": "0",
"commandargs": "-lang jython -f /opt/tmp/installapp/install_app.jy $APP_LOCATION $INSTALL_ARGS",
"ostype": "linux/unix",
"type": "APPLICATION",
"keys":[
{
"scriptkey": "APP_LOCATION",
"scriptvalue": "",
"scriptdefaultvalue": ""
},
{
"scriptkey": "INSTALL_ARGS",
"scriptvalue": "",
"scriptdefaultvalue": ""
}
]
}
]Parámetros del objeto cbscript.json
"<parameter_name>": "<parameter_value>",- nombre
- Serie de texto sin formato obligatoria que identifica el paquete de scripts. La serie de texto
puede tener un máximo de 1024 caracteres.Ejemplo:
"name": "Install and configure the ITM OS agent",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
Importante: No incluya un espacio final en el parámetro o valor de parámetro o se podrían producir errores al importar el paquete de scripts. - versión
- Cadena de texto sin formato opcional que proporciona información sobre la versión. Si se ha especificado, el valor de este parámetro representa la versión del paquete de scripts. Si no especifica ningún valor, se utiliza el valor predeterminado
1.0.0.Restricción: No se da soporte a varias versiones del mismo paquete de scripts para su uso con patrones de sistema virtual clásico.Ejemplo:"version": "1.0.0",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- description
- Serie de texto sin formato opcional que identifica la función del paquete de scripts. Se muestra la serie de texto en el campo Descripción en el panel Paquetes de scripts cuando el paquete de scripts comprimido está cargado. La serie de texto
puede tener un máximo de 1024 caracteres.Ejemplo:
"description": "This script package creates a JDBC Provider and Data Source for a highly available DB2 Enterprise database cluster",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- mandato
- Una serie de mandatos opcional que ejecuta el script principal en el paquete de scripts. Se muestra el valor del parámetro en el campo Ejecutable en el panel Paquetes de scripts cuando el paquete comprimido está cargado. El valor de serie puede tener un máximo de 4098 caracteres,
y puede incluir variables de entorno.Ejemplo:
"command": "/bin/sh /tmp/createDB2DataSource/createDB2DataSource.sh",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- anotaciones
- Una ubicación opcional en la máquina virtual para los archivos de registro que se graban
resultantes de la ejecución del paquete de scripts. Se muestra el valor del parámetro en el campo Directorio de registro cronológico en el panel Paquetes de scripts cuando el paquete comprimido está cargado. El valor de serie puede tener un máximo de 4098 caracteres.Ejemplo:
"log": "/tmp/SCAS_scriptpkg_logs",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- ubicación
- La ubicación opcional donde se almacenan y se desempaquetan los archivos del paquete de scripts
cuando se sube el paquete comprimido de scripts. Se muestra el valor del parámetro en el campo Directorio de trabajo en el panel Paquetes de scripts cuando el paquete comprimido está cargado. El valor de serie puede tener un máximo de 4098 caracteres. El
valor predeterminado es
/tmp, pero el método recomendado consiste en especificar un directorio nuevo bajo /tmp, por ejemplo /tmp/myscriptdir. En los sistemas operativos Windows soportados, el valor predeterminado esC:\temp.Ejemplo:"location": "/tmp/myscriptdir",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
Importante: La arquitectura de script presupone que cada script se ejecuta desde su propio directorio privado, normalmente bajo el directorio /tmp .Cuando el script se ha completado, el sistema crea una lista de todos los archivos bajo el directorio de trabajo y los subdirectorios que no tienen el sufijo .rpm, .tgz, .gz, .zip, .exe, .BIN o .bin. Los archivos que están en esta lista se incluyen en el archivo script_log.zip.
- tiempo de espera
- La cantidad máxima de tiempo, expresada en milisegundos, en la que se espera
que el script finalice su ejecución. Se muestra el valor del parámetro en el campo Tiempo de espera en el panel Paquetes de scripts cuando el paquete comprimido está cargado. El valor predeterminado es
60000000(1000 minutos). Un valor de 0 especifica esperar indefinidamente para que el script se complete. Si se excede el tiempo de espera, se devuelveStatus.TIMEOUT_FAILED, ser registra un mensaje en trace.log y la ejecución se detiene.Ejemplo (valor de tiempo de espera de 2 minutos, especificado como 120.000 milisegundos):"timeout": "120000",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- execmode
- Especifica cuándo se ejecuta el paquete de scripts en el sistema. El comportamiento predeterminado es para el paquete de scripts que se debe ejecutar después de que todas las máquinas virtuales se hayan iniciado correctamente y se hayan federado todos los nodos, cuando es aplicable. El comportamiento predeterminado se produce cuando se crea la instancia de sistema virtual . Los valores siguientes son válidos para este parámetro:
- 0
- Especifica que se ejecuta el script cuando el sistema virtual ha terminado de iniciarse durante la creación inicial. Este es el valor predeterminado si no se ha especificado este parámetro.
- 1
- Especifica que el script se ejecuta cuando se suprime el sistema virtual.
- 2
- Especifica que el script se inicia manualmente utilizando el icono iniciar que se visualiza junto al nombre de script de una máquina virtual. Pulse el icono para ejecutar el script. No hay ninguna limitación en el número de veces que se ejecuta un script utilizando este método.
- 3
- Especifica que el script se ejecuta cuando el sistema virtual ha terminado
de iniciarse durante la creación inicial, y también está disponible para iniciarse
manualmente utilizando el icono de inicio que se muestra junto al nombre
de script de una máquina virtual. Pulse el icono para ejecutar el script. No hay ninguna limitación en el número de veces que se ejecuta un script utilizando este método.Nota: Si un paquete de scripts con
"execmode": "3"está asociado con un patrón de sistema virtual en un componente de imagen de Windows, durante el inicio inicial se ejecuta bajo el usuario Administrador. En las ejecuciones subsiguientes, cuando se inicia manualmente con el icono de inicio, se ejecuta como servicio del sistema con el usuario del sistema.
Ejemplo:"execmode": "2",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- ostype
- El tipo de sistema operativo para el que se admite este script. Este parámetro es útil si se necesita indicar que el script
es válido sólo para un sistema operativo específico. Los valores siguientes son válidos para este parámetro:
- linux/unix
- El script sólo es válido en sistemas operativos Linux® y UNIX soportados. Este es el valor predeterminado si no se ha especificado este parámetro.
- windows
- El script sólo es válido en sistemas operativos Windows soportados.
- ambos
- El script es válido en todos los sistemas operativos Windows y Linux/UNIX soportados.
Por ejemplo, si crea un patrón de sistema virtual con una imagen de sistema operativo Windows, los scripts incluidos en dicho patrón deben poder ejecutarse en dicho sistema operativo. En este caso, especifique el sistema operativo admitido como:"ostype": "windows",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- tipo
- Una indicación opcional del tipo de paquete de scripts. El único
valor válido (y el valor predeterminado, si no se especifica) es Aplicación. Otros valores son únicamente para uso interno.Ejemplo:
"type": "APPLICATION",Cuando se descarga el paquete de scripts, este valor se graba en el archivo cbscript.json.
- commandargs
- Una lista de argumentos opcionales y sus valores que se pasan
al script durante la ejecución. Se muestra la lista de argumentos en el campo Argumentos en el panel Paquetes de scripts cuando el paquete de scripts comprimido está cargado. La serie puede
tener un máximo de 4098 caracteres, y puede incluir variables de entorno. Si el argumento puede contener el carácter de espacio, el argumento debe estar envuelto entre comillas dobles utilizando la barra inclinada invertida como carácter de escape (\"). Cuando se descarga el paquete de scripts, si se especifica este parámetro, esta serie sustituye a la serie del archivo cbscript.json .Ejemplo:
"commandargs": "-user \"$(WAS_USERNAME)\" -password $(WAS_PASSWORD) -lang jython -f /tmp/myLabApp/appInstall.jy", - claves
- Lista de variables de entorno que se añaden a otras variables de entorno del sistema y están disponibles para el script durante el tiempo de ejecución. Se muestran las variables de entorno y sus valores en el campo Entorno en el panel Paquetes de scripts cuando el paquete comprimido está cargado.La lista de las variables de entorno y sus valores se definen con el formato siguiente:
"keys": [ { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>" }, { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>", "locked": "<ENV_LOCK>" }, { "scriptkey": "<ENV_NAME>", "scriptvalue": "", "scriptdefaultvalue": "<default_env_value>", "type": "<ENV_TYPE>", "locked": "<ENV_LOCK>" } ]Cada variable de entorno se define con los siguientes atributos:- scriptkey
- El nombre de la variable de entorno. Este atributo es necesario.Ejemplo:
"scriptkey": "DATABASE_HOST",Si el valor de la serie de texto de este atributo incluye contraseña, la clave se trata del mismo modo que si se especificara el atributo de tipo contraseña. Ejemplo:"scriptkey": "DATABASE_PASSWORD",Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- scriptvalue
- Este atributo no lo utiliza actualmente el sistema, pero es necesario
que lo incluya cada scriptkey. Establézcalo en un valor de serie vacío.Ejemplo:
"scriptvalue": "",Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- scriptdefaultvalue
- Un valor predeterminado inicial para la variable de entorno que puede
modificar más tarde si fuera necesario. Este atributo es obligatorio, pero el valor puede estar en blanco. Si se especifica
validvalues, el valor especificado para este valor predeterminado debe ser uno de los valores válidos especificados en la listavalidvalues.Ejemplo:"scriptdefaultvalue": "mainhost.ibm.com",Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- código
- Una cadena de texto sin formato opcional que es el nombre de visualización para la clave
en la interfaz de usuario.Ejemplo:
{ "type": "positiveinteger", "scriptkey": "TOMCAT_PORT", "label": "Tomcat port", "scriptdefaultvalue": "8080", "locked": "false", "required": "true" },Cuando se descarga el paquete de scripts, este atributo no se graba en el archivo cbscript.json.
- description
- Serie de texto sin formato opcional que identifica la función de la clave de scripts. Esta cadena de texto se muestra como texto de ayuda descriptivo para el atributo de clave de script cuando se configura el parámetro de clave de script para el despliegue. La serie de texto
puede tener un máximo de 128 caracteres.Ejemplo:
{ "scriptkey": "NPM_PROXY_URL", "scriptvalue": "", "scriptdefaultvalue": "http://192.168.1.1:8080", "description": "Proxy Server Settings", "type": "string", "locked": "false" }Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- tipo
- Una serie opcional que indica el tipo de valor de entorno. Son válidos los valores siguientes:
booleanintegerpositiveintegerpassword(el valor está oculto en la interfaz de usuario o en los archivos de registro)string(este es el valor predeterminado)
Ejemplo:"type": "password",Cuando se descarga el paquete de scripts, si está presente este atributo, se graba en el archivo cbscript.json.
- regex
- Una expresión regular es una secuencia de caracteres que forma un patrón de búsqueda para validar un valor de clave de script. Si está presente, este atributo se utiliza para validar valores durante la importación del paquete de scripts o cuando se modifican valores utilizando la consola, y también durante el despliegue y cuando se ejecutan paquetes de script a solicitud. La longitud máxima de esta cadena es 128 caracteres.Ejemplo:
{ "scriptkey": "KEY-TWO", "scriptdefaultvalue": "two", "type": "string", "regex": "t+.*", "description": "Must start with 't'" }Cuando se descarga el paquete de scripts, si está presente este atributo, se graba en el archivo cbscript.json.
Nota:- Si se utiliza una expresión regular válida en un patrón para validar un campo de entrada de usuario, la entrada de usuario se valida y los mensajes de validación se proporcionan en el Creador de patrones y en el momento del despliegue.
- Si se utiliza una expresión regular no válida para validar un campo de entrada de usuario, la entrada de usuario se pasará por alto y no se proporcionarán mensajes de validación.
regexsea correcto. - locked
- Un control opcional que indica si la variable de entorno se puede
modificar en el momento del despliegue. Los valores válidos son
trueofalse. El valor predeterminado esfalse.Ejemplo:"locked": "true",Tenga en cuenta que esta característica de bloqueo establece el estado bloqueado del parámetro (en bloqueado) cuando se añade al lienzo Editor de patrones, y sólo está en vigor en el momento del despliegue. Este valor no afecta a la capacidad para realizar ninguna de las siguientes tareas:- Eliminar el parámetro del paquete de scripts del catálogo.
- Cambiar el valor del parámetro en el paquete de scripts en el catálogo.
- Restablecer el parámetro a un estado desbloqueado al editar las propiedades del paquete en el Editor de patrones.
Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- obligatorio
- Un control opcional que indica si la variable de entorno es
una variable necesaria u opcional. Los valores válidos son
trueofalse. El valor predeterminado estrue.Ejemplo:"required": "false",Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
- validvalues
- Si el valor de la variable de entorno se tiene que seleccionar de una lista
predefinida de valores, incluya este parámetro en la configuración de la variable de entorno
y especifique los valores válidos en una lista. El
valor especificado por
scriptdefaultvaluedebe ser uno de estos valores válidos.Ejemplo:"validvalues": ["a", "b", "c"],Si especifica este atributo, la lista de valores válidos no puede estar vacía. Por ejemplo, la sentencia siguiente no es válida:"validvalues": [],Cuando se descarga el paquete de scripts, este atributo se graba en el archivo cbscript.json.
Ejemplo:"keys": [ { "scriptkey": "DATABASE_NAME", "scriptvalue": "", "scriptdefaultvalue": "" }, { "scriptkey": "DATABASE_PORT", "scriptvalue": "", "scriptdefaultvalue": "50000", "type": "integer", "required": "true", "validvalues": ["50000", "50001", "50002"], "locked": "false" }, { "scriptkey": "SSL_ENABLED_ON_PORT", "scriptvalue": "", "scriptdefaultvalue": "true", "type": "boolean" } ]
- Estado actual
- Acceso concedido a
- Comentarios