DEPLOY

The DEPLOY action deploys a packaged runtime environment to a remote system.

Before you begin

The DEPLOY action can be run after you have successfully packaged a runtime environment using the PACKAGE action.

If you do not have any SMP/E target libraries on the system on which you want to run a DEPLOY action, you can use the utility, TKANSAM(KFJMAINT), with the BLDREMDS action to build the necessary minimum data sets (TKANSAM, TKANMOD, and TKANCUS libraries) needed to run the action. Make sure you transfer the created data sets to your remote system where DEPLOY should run and where the necessary APF authorization of the TKANMOD library is made. These SMP/E target libraries are the minimum required to allow Configuration Manager to run for a full RTE. However, for a RTE that you are sharing with SMP/E, you will need to copy your entire set of SMP/E target libraries to the system where you run the DEPLOY action.

Important: When you use DEPLOY, the target runtime environment (RTE) data sets will be updated. Verify that these data sets are not in use before you use DEPLOY.

For more information about the complete remote deployment process, see Remote deployment scenario.

About this task

The DEPLOY action uses the dump data sets generated by the PACKAGE action to restore the runtime environment data sets on the target system. The DEPLOY action uses the DFSMSdss ADRDSSU program to restore the data sets. It performs an unconditional restore for the main VSAM and non-VSAM packages (fully replaces the data sets) and a conditional restore for the history packages (does not replace existing data sets). Note the following behaviors:
  • If history dump data sets (**.PACKHN or **.PACKHV) are not found or failed to restore, a return code of 4 will be generated.
  • If the main dump data sets (**.PACKMN or **.PACKMV) are not found or failed to restore, a return code of 8 will be generated.
Note: The DEPLOY action replaces all main package VSAM and non-VSAM files, but does not replace any history-related files. Therefore, it is normal for PACKHN and PACKHV deploy flows to end with RC=8. If you want to avoid this, for example if you roll out maintenance, do not transfer these packages to the target system. While normally a return code of 8 would cause Configuration Manager to stop, in this particular situation (history files), a return code of 8 is considered acceptable and will not prevent Configuration Manager from continuing to function.
When restoring (and potentially untersing) the packaged runtime environment, the DEPLOY action will reuse the following parameters used with the PACKAGE action:
  • KFJ_PACK_HILEV
  • KFJ_ADRDSSU_ADMIN
  • KFJ_PACK_DATACLAS
  • KFJ_PACK_TERSE
  • KFJ_PACK_UNIT
  • KFJ_PACK_VOLUME
See the PACKAGE action for information about these parameters.
The following list provides more details about the DEPLOY action:
  • The PACKAGE action requires the use of the KCIALPHA program. KCIALPHA is an APF-authorized version of KCIOMEGA.
  • If KFJ_PACK_UNIT or KFJ_PACK_VOLUME is specified, it applies to all of the packages being untersed.
  • For large packages being untersed, you should use KFJ_PACK_DATACLAS accordingly to allow multi-volume data set allocation for the extracted package files.
  • If metadata file PACKMD is not available, packages are restored as is, retaining all high-level qualifiers and SMS properties.
  • If KFJ_PACK_TERSE is set to Y, it first unterses the package. Untersed DMP file high-level qualifier and SMS parameters are used as specified in the following parameters:
    • RTE_PLIB_HILEV
    • RTE_SMS_UNIT
    • RTE_SMS_VOLUME
    • RTE_SMS_MGMTCLAS
    • RTE_SMS_STORCLAS
  • If RTE_SMS_VOLUME is specified but RTE_SMS_MGMTCLAS is not, RTE_SMS_MGMTCLAS defaults to NULLMGMTCLAS. Similarly, RTE_SMS_STORCLAS defaults to NULLSTORCLAS.
  • You can optionally control when to run the DEPLOY workflow stage that deploys the parts related to z/OS® UNIX System Services. By default, the DEPLOY action automatically deploys files and directories related to z/OS UNIX, if they are present in the packaged runtime environment data sets. However, there might be cases where you would want to skip this step (for reasons such as authorization issues), and perform this step at a later time. You can use the OPTION parameter to specify the NOUSS or USS value to control this processing, as follows:
    NOUSS

    When OPTION NOUSS is specified, the DEPLOY action does not run the stage that deploys the parts related to z/OS UNIX.

    With this option, only z/OS data sets are deployed; files and directories related to z/OS UNIX are bypassed.

    USS

    When OPTION USS is specified, the DEPLOY action runs only the stage that deploys the parts related to z/OS UNIX; no other processing is performed.

    This option is useful when you want to refresh files and directories related to z/OS UNIX only.

To run the DEPLOY action, use the following procedure.

Procedure

  1. Modify the KFJJMCM sample job in TKANSAM (see example below) to select a DEPLOY action.
  2. Change the program name in the JCL EXEC statement from KCIOMEGA to KCIALPHA.
  3. Specify values for the required parameters RTE_NAME and RTE_PLIB_HILEV.
  4. (Optional) Specify any additional parameters as needed.
  5. Run the KFJJMCM job to perform the deploy process and restore the related package files.
    Job messages for the DEPLOY action are written to the KCIPRINT SYSOUT data set and to the $REPORT DD. If return code 4 or 8 is received, review the $REPORT DD statement in the JCL job output to ensure that the restore process completed successfully. For more information, see DEPLOY action output.

Example

The following JCL restores (deploys) the data sets for the runtime environment that has been packaged by the respective PACKAGE action, meaning the package that used RTE name RTE1 and TSOUID.MONSUITE.RTEDEF.

Figure 1. Example JCL to perform the DEPLOY action
//UID#ZMCM JOB ,CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID 
/*JOBPARM SYSAFF=ZOS1 
//S1 EXEC PGM=KCIALPHA,REGION=0M,DYNAMNBR=256 
//STEPLIB DD DISP=SHR,DSN=MONSUITE.TKANMOD 
//KCIFLOW DD DISP=SHR,DSN=MONSUITE.TKANCUS(KFJOMEGA) 
//KCIVARS DD * 
ACTION DEPLOY 
RTE_NAME RTE1 
RTE_PLIB_HILEV TSOUID.MONSUITE 
/*