System Automation 4.3 - Políticas de Automatización
Hay que seguir este apartado de la documentación para realizar una DB básica de políticas de automatización.
https://www.ibm.com/docs/en/z-system-automation/4.3.0?topic=bscuca-start-sazos-first-time
Acceso al panel “Customization Dialog”
Lo primero que debemos hacer es entrar en los paneles para administrar las políticas de automatización. Hay varias formas (comandos o mediante una opción en un panel):
https://www.ibm.com/docs/en/z-system-automation/4.3.0?topic=time-starting-customization-dialog
- Copiar el script REXX “INGEDLG” de librería **.CONFLIB (SA430.ADCDPL.CONFLIB) a una de nuestras librerías SYSPROC o SYSEXEC de la concatenación de TSO.
Para saber qué librerías SYSPROC o SYSEXEC usamos, una forma es usar el comando:
TSO ISRDDNEn mi caso, podría copiarlo a USER.Z31B.CLIST

- También podemos ejecutar directamente el comando desde cualquier panel:
TSO EXEC 'MYHLQ.SYSA.CONFLIB(INGEDLG)'
En mi caso:
TSO EXEC 'SA430.ADCDPL.CONFLIB(INGEDLG)'
Puede dar un error como este:
IKJ56246I DATA SET SA430.SA00.S0W1.AOFTABL NOT ALLOCATED, FILE IN USE
Start of SA for z/OS Customization Dialog failed.
Error in INGDLG2 > Return code 12 from ALLOCATE for AOFTABL data set SA430.SA00.S0W1.AOFTABL
Esto me ocurre porque en la versión ADCD ya están definidas las DDs “AOFPRINT”, “AOFTABL” e “IHVCONF” en el procedimiento de logon de TSO.
Para sabe el procedimiento de logon de TSO que usamos, hay varias formas:
- Cuando hacemos logon en TSO, parámetro “Procedure”.
- En el panel principal de ISPF es posible que haya definido un campo llamado “TSO logon”
- Si tenemos RACF, podemos usar el comando para ver el parámetro PROC: TSO LU user TSO
- También podemos ir a SDSF, buscar la sysout de nuestro usuario e indicará el procedimiento y la librería. En mi caso, ISPFPROC en la librería USER.Z13B.PROCLIB.

Voy a marcar como comentario las tres DDs “AOFPRINT”, “AOFTABL” e “IHVCONF”.
Hacer logoff/logon de la sesión.

- Otra alternativa interesante para no tener que recordar comandos es añadir una opción en un panel de ISPF.
https://www.ibm.com/docs/en/z-system-automation/4.3.0?topic=dialogs-using-ingdlg
Con el comando PANELID veremos el nombre del panel. En mi caso, IBMPRODS.

Ahora buscamos la librería donde está el panel con el comando “TSO ISRFIND”

En “Member Name” indicar el nombre del panel.

En mi caso, se encuentra en ADCD.Z31B.ISPPLIB

Lo copio a USER.Z31B.ISPPLIB y lo edito. En el caso de que nos equivoquemos y estropeemos el panel, tendremos backup en la librería original.
En el fichero del panel, bajo hasta el apartado donde se definen las opciones visibles del panel. Ahí repito la línea de la última opción que aparezca y pongo el siguiente texto:
SA System Aut System Automation 4.3 Customization Dialog
Un poco más abajo, veremos lo que ejecuta cada opción que tenemos disponible en el panel.
Solo hay que añadir una nueva opción después de la última que tengamos y poner el siguiente código (SA430.ADCDPL.CONFLIB tenéis que ajustarlo a vuestra instalación y si habéis seguido los pasos de “Configuration Assistant” para hacer la instalación).
SA,'CMD(EXEC ''SA430.ADCDPL.CONFLIB(INGEDLG)'')'
Después de salir y entrar a TSO, ya tendremos la opción del panel y podremos entrar.


Crear DB básica de políticas de automatización (PDB)
En el campo “Current Policy Database” escribimos ”?”.

Escribir el comando “NEW” para crear una nueva PDB.

Rellenar los datos.
En el campo “Data Set Name” debemos añadir comillas. El nombre que uso para el fichero PDB (SA430.$POLICY.S0W1.PDB) sigue la nomenclatura que establecí en el apartado Instalación.
Como esta primera configuración va a ser básica, vamos a deseleccionar algunos componentes de las políticas *BASE.
Podéis crearos dos DBs. Una con todos los “add-ons” para tenerla de referencia y otra con algunos elementos de las políticas *BASE para ir añadiendo recursos adaptados a vuestro sistema.

Vamos a dejar unos componentes básicos para hacer la prueba y mostrar el proceso. Más adelante, añadiremos más.
Con “M” deseleccionamos aquellos que no queremos definir ahora.

Yo dejaré los siguientes. Pulsamos F3.

Aparecerá el mensaje “CUSTOMIZED”. Pulsamos Enter.

Aquí definimos las caracterísiticas que tendrá el fichero **.PDB.
En mi caso, quiero guardarlo en el disco que creé durante la instalación (SA4300). Como estoy usando la versión ADCD, debo añadir SCNOSMS para que se guarde en mi disco NO-SMS.

Esperar a que se cree la nueva PDB. Tarda unos minutos.

Cuando termine el proceso, veremos el siguiente panel.

Adaptar PDB nuestro sistema
Después de crear el fichero básico PDB, vamos a adaptarlo a nuestro sistema.
Groups
Entrar en opción 2 - Groups.

Con “R”, renombrar el recurso. Yo prondré el nombre de mi sysplex: ADCDPL


Ahora podemos cambiar el campo “Short Description”. Para ello, entramos en el recurso con “S”.

Con “S” entramos en “Description”.

Cambiamos la descripción según queramos. Salir con F3 para guardar los cambios.

Entramos en Systems.

Hay 3 sistemas definidos como ejemplo. Voy a quitar 2 y mantener SYS1 porque yo solo tengo un sistema.

Solo SYS1 aparecerá con el estado “SELECTED”. Salir con F3.

Systems
Entrar en la opción 4 - Systems.

Aparecerán 3 sistemas definidos de ejemplo. Voy a renombrar el primero.

Esperar a que termine.

Entrar al sistema que hemos renombrado. “S”.

Entrar en Description y modificarla.


IMPORTANTE - Entrar en “System Info”

En “Image/System name”, indicar el nombre real del sistema. En mi caso, S0W1.

Veremos una serie de recursos modificados que apuntarán al nuevo nombre del sistema. Salir con F3.

Applications
Esta es la parte que más tiempo nos va a llevar. Consiste en definir en la automatización todas las tareas que tenemos en el sistema. Esto se hace para poder monitorizar y automatizar los IPLs.
Lo voy a estructurar de esta manera: en este apartado voy a modificar/explicar unas pocas aplicaciones para dar a conocer la forma de trabajo. En otro apartado dentro de este artículo incluiré cómo definir otras tareas como CICSes, DB2, etc. para que sirvan como ejemplo.
Entrar en la opción 6 - Applications.

Veremos una lista de aplicaciones que se han creado cuando hemos incluido el “add-on” *BASE en pasos anteriores.

Debemos revisar esta lista e ir modificando las tareas necesarias para que se ajusten a nuestro sistema. También debemos quitar aquellas que no tenemos en el sistema.
Como estas son tareas *BASE, ya estarán asociadas al grupo de aplicaciones BASE_SYS. Por defecto, el grupo de aplicaciones BASE_SYS también estará asociado al grupo de sistemas que se crea cuando importamos la configuración del add-on *BASE. (ADCDPL en mi caso).
Para revisar la configuración, debeis entrar en la opción 5 - ApplicationGroups
Ejemplo - Modificar tarea AM
Esta tarea si tiene que estar en mi sistema, pero debemos comprobar cómo se llama el job.
Entramos en la tarea con “S”.

Entrar en “Application Info”.

Esta es la definición que tenemos por defecto. En mi caso, el “Job Name” no es AM.
En el apartado de Instalación, le puse el nombre INGAM.
Podemos buscar las tareas en SDSF o con el comando “D A,L”. Si sabemos parte del nombre, también podemos usar el comando, por ejemplo, “D A,ING*” para ver las tareas cuyo nombre comienza por “ING”.

Quedará de esta forma. Salir con F3.

Ejemplo - Modificar tarea AM2
Debemos hacer lo mismo que con la tarea AM. Modificar el nombre de “Job Name”. En mi caso, INGAM2.

Ejemplo - Desactivar tarea APPC
Esta tarea, actualmente, no la tengo en ejecución en el sistema. Como no quiero borrarla de la DB, pero tampoco quiero la automatización la use, voy a quitar voy a quitarla del grupo de aplicaciones.
Entrar en la opción “WHERE USED”

Con “M” lo quitamos del grupo “BASE_SYS”.

Quedará así. Salimos con F3.

Tarea ASCH
Esta tarea tampoco la uso. La voy a quitar del grupo de aplicaciones BASE_SYS.
Es posible que según en LOADPARM que usemos en la versión ADCD, esta tarea si se use. En ese caso, no hay que quitarla.


Tarea BLSJPRMI
Esta tarea la quité del grupo de aplicaciones BASE_SYS.

Tarea DLF
No hago cambios en esta tarea.
Tarea DSIRQJOB
Esta tarea es la que vimos durante el apartado de instalación que se encargaba de asignar un JobID para NetView. La voy a mantener sin cambios.
Recomiendo que comparéis esta tarea con otras del sistema, ya que es una tarea interna de NetView y se define de forma algo diferente.

Tarea FFST
En el caso del sistema ADCD, no está definida, por lo tanto, la quito del grupo de aplicaciones.

Tarea HSM
En este momento, no la tengo definida en el sistema, por lo tanto, la quito del grupo de aplicaciones.

Tarea HZSPROC
No hago cambios en esta tarea.
Tarea ICFS - CSF
En ADCD, esta tarea existe con el nombre CSF. Modifico la definición.
Además, en ADCD, no se arranca con SUB=MSTR, pero voy a mantener la definición como MSTR ya que la documentación indica que es lo adecuado.
https://www.ibm.com/docs/en/zos/3.1.0?topic=icsf-manually-starting-stopping

Tarea IRRDPTAB
Esta tarea la quité del grupo de aplicaciones BASE_SYS.

Tarea JES2
No hago cambios en esta tarea.
Tarea LLA
No hago cambios en esta tarea.
Tarea NETSRV1
Quité esta tarea del grupo de aplicaciones BASE_SYS.

Tarea OAM
En este momento, no la tengo definida en el sistema, por lo tanto, la quito del grupo de aplicaciones.

Tarea OMVS
No hago cambios en esta tarea.
Tarea PAGENT
Hay que quitar un TRIGGER que tiene definido

Debe quedar sin seleccionar nada.

Tarea RACF
No hago cambios en esta tarea.
Tarea RESOLVER
No hago cambios en esta tarea.
Tarea RMF
No hago cambios en esta tarea.
Tarea RMFGAT
No hago cambios en esta tarea.
Tarea RRS
No hago cambios en esta tarea.
Tarea SDSF
No hago cambios en esta tarea.
Tarea SDSFAUX
No hago cambios en esta tarea.
Tarea SMF_REC
Parece que esta tarea sirve para monitorizar los registros SMF. La voy a dejar sin cambios para ver cómo funciona. Más información:
https://www.ibm.com/docs/en/z-system-automation/4.3.0?topic=41-miscellaneous
Tarea SYSVAPPL - INGNVSA
A esta tarea, en el apartado de Instalación de System Automation, la llamé INGNVSA.

Además, también voy a renombrar la entrada para que sea más fácil de identificar. Con “R” en la lista de aplicaciones.

Tarea SYSVIPLC - INGEIPLC
A esta tarea, en el apartado de Instalación de System Automation, la llamé INGEIPLC. El PROC se llama INGEIPLC.

Además, también voy a renombrar la entrada para que sea más fácil de identificar. Con “R” en la lista de aplicaciones.

Tarea SYSVSSI - INGNVSSI
A esta tarea, en el apartado de Instalación de System Automation, la llamé INGNVSSI. El PROC se llama INGESSI.

También voy a renombrar la entrada para que sea más fácil de identificar. Con “R” en la lista de aplicaciones.

Tarea TCPIP
No hago cambios en esta tarea.
Tarea TN_PORT
No hago cambios en esta tarea. Os recomiendo revisar esta tarea ya que es diferente al resto de tareas. Esta tarea se encarga de verificar que el puerto 23 está escuchando.
Tarea TN3270
No hago cambios en esta tarea.
Tarea TSO
No hago cambios en esta tarea.
Tarea VLF
No hago cambios en esta tarea.
Tarea VTAM
No hago cambios en esta tarea.
Tarea ZFS
No hago cambios en esta tarea.
Tarea ZOSMFANG - IZUANG1
En mi sistema se llama IZUANG1, por lo tanto, voy a usar ese nombre.

También renombro la entrada (con “R” en la lista de aplicaciones).

Tarea ZOSMFVIP
Quité esta tarea del grupo de aplicaciones ZOSMF.

Tarea ZOSMFWLP - IZUSVR1
En mi sistema se llama IZUSVR1, por lo tanto, voy a usar ese nombre.

¡IMPORTANTE! En los sistemas emulados como ZD&T (zPDT) las tareas JAVA tardan mucho en arrancar. Podemos ampliar el tiempo que la tarea espera por el mensaje que indica que la tarea está UP.
Ajustamos los parámetros “Start Delay” y “Start Cycles” según nuestras necesidades.
Hay que tener en cuenta que si en estos sistemas arrancamos en paralelo tareas JAVA a la vez (z/OSMF, z/OS Connect, ZOWE, etc) el tiempo se incrementará.
Como recomendación, es mejor arrancar una tras otra.

También renombro la entrada (con “R” en la lista de aplicaciones).

En este punto ya hemos ajustado todas las aplicaciones de base que tenemos.
System Defaults - Opcional
De forma opcional, podemos desactivar la automatización la primera vez para que no ejecute los comandos, pero si escriba en el log los comandos que ejecutaría. De esta manera, podemos revisar lo que hace sin afectar al sistema.
https://www.ibm.com/docs/en/z-system-automation/4.3.0?topic=time-changing-system-defaults
Esto también se puede configurar de forma individual para la aplicación deseada en la opción “6 - Applications”.
Entrar en la opción 35 - System Defaults.

Entrar con “S”.

Si entramos en “AUTOMATION OPTIONS”, veremos algunas de las opciones predefinidas. Por ejemplo, si las tareas deben estar arrancadas siempre.

Por ejemplo:
- El campo “Desired Available” indica cómo deben estar las aplicaciones, monitores de recursos y grupos de aplicaciones. “ALWAYS” indica que, por defecto, siempre deben estar arrancados.
- El campo “Inform List” indica dónde veremos el estado de los recuros. Por ejemplo, los paneles de SDF en NetView.

Entramos en “AUTOMATION FLAGS”.

En la opción “Automation”, podemos cambiar de YES a LOG para que los comandos de automatización queden registrados en el log, pero no se ejecuten en el sistema.

Crear fichero de configuración
En el panel principal de “Customization Dialog” entramos a la opción 2 - Build.

Cuando es la primera vez que creamos el fichero de configuración, debemos elegir la opción:
- “Option” 1 - Build a complete enterprise
- “Output Data Set” será el se creó durante el apartado de Instalación, en mi caso, SA430.$POLICY.S0W1.PDB.SOCNTL.
- “Mode” ONLINE
- “Type” ALL

Esperamos a que termine el proceso.

Arriba a la derecha aparecerá el mensaje “Build Successful”.

En la librería SA430.$POLICY.S0W1.PDB.SOCNTL veremos todos ficheros que se han creado con la configuración.
$BLDRPT contiene un informe del proceso.

Arranque de automatización
Si previamente teníamos arrancadas las tareas de automatización, paramos las 3
P INGNVSA
P INGNVSSI
P INGAMAhora las arrancamos. Se puede hacer sin SUB=MSTR para ir comprobando los mensajes de arranque.
S INGEAMSA,JOBNAME=INGAM,TYPE=COLD
S INGENVSA,JOBNAME=INGNVSA
S INGESSI,JOBNAME=INGNVSSIINGAM
Debemos comprobar que aparece el mensaje:
HSAM1308I SA z/OS PRIMARY AUTOMATION MANAGER INITIALIZATION COMPLETE, TYPE=COLD.
INGNVSSI
Deben aparecer los mensajes:
CNM226I NetView Program to Program Interface initialization is completed
CNM541I NetView subsystem INGN is fully functional
INGNVSA
En mi caso, tuve este error de RACF durante el arranque porque System Automation intentaba arrancar una tarea que no estaba arrancada. (Esto aplica al sistema ADCD).
ICH408I USER(AUTGSS ) GROUP(INGAUTO ) NAME(AUTOOPERATOR ) 796
MVS.START.STC.INGEIPLC.INGEIPLC CL(OPERCMDS)
INSUFFICIENT ACCESS AUTHORITY
FROM MVS.START.STC.* (G)
ACCESS INTENT(UPDATE ) ACCESS ALLOWED(NONE )Ejecuté los siguentes comandos para corregir el error y evitar otros en el futuro.
Estos comandos aplican para el sistema ADCD. En vuestro sistema tendréis que usarlos o ajustarlos según necesitéis.
PERMIT MVS.ROUTE.CMD.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(READ)
PERMIT MVS.CANCEL.STC.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(UPDATE)
PERMIT MVS.START.STC.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(UPDATE)
PERMIT MVS.MODIFY.STC.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(UPDATE)
PERMIT MVS.STOP.STC.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(UPDATE)
PERMIT MVS.* CLASS(OPERCMDS) ID(INGAUTO) ACCESS(UPDATE)
Refrescar configuración:
SETROPTS RACLIST(OPERCMDS) REFRESH
PERMIT SUPERUSER.PROCESS.GETPSENT CLASS(UNIXPRIV) ID(INGAUTO) ACCESS(READ)
Refrescar configuración:
SETROPTS RACLIST(UNIXPRIV) REFRESHCuando arranque la tarea, debemos esperar a que salga el reply (WTOR):
AOF603D ENTER AUTOMATION OPTIONS OR 'R' (RE-DISPLAY) - DOMAIN SA01
Debemos responder este mensaje sin ningún parámetro para que arranque de forma normal. Si tardamos más de 2 minutos en responder, se responderá solo
En mi caso:
/06
System Automation empezará a arrancar.

Entramos a NetView y vamos a la opción SDF.

En mi caso, mi sistema aparece en rojo. Ponemos el cursor encima del sistema (S0W1) y pulsamos F8.

Veremos el monitor de recursos. Ponemos el cursor en APPLS y pulsamos F8.

En mi caso, aparece la tarea AM2 en rojo debido al error de RACF que mencioné más arriba.
Como ya lo he resuelto, voy a rearrancar la tarea.
Hay que poner el cursor en el nombre de la tarea y pulsar F17 (Shift + F5).

Usaremos la opción AUTODOWN para indicarle a System Automation que haga la acción que tiene definida en la automatización para esta tarea.
Como anteriormente vimos, por defecto, las tareas siempre deben estar arrancadas (Desired Available ALWAYS), por este motivo, intentará arrancarla.
El Scope por defecto siempre debe ser ONLY. Esto indica que esta acción solo afecta a esta tarea. No afectará a tareas relacionadas.


La tarea quedará en verde indicando que está arrancada.


Ya hemos completado la creación de una DB de políticas de automatización básica, hemos construido los ficheros de configuración y hemos arrancado las STCs con la automatización activada.
Todo ya funciona correctamente.
Los siguientes pasos serían: definir el resto de tareas que queremos tenemos en nuestro sistema (DB2, CICS, etc), verificar los grupos de aplicaciones, asociarlos a nuestro sistema y configurar el sistema para que sea System Automation el que pare/arranque las tareas en un IPL.
Estos temas se tratan en otro apartado de la sección System Automation.