Milestone 8: Define Started Tasks
Code Pipeline relies on four Started Tasks (CM, CI, CT and SX) to perform all its basic functions. Without these Started Tasks, Code Pipeline will not function. Follow the instructions in this Milestone to define those Started Tasks.
Task 8.1 Define common parameters
On the Code Pipeline Guided Configuration Dialog Main Menu, type 4 (Define Started Tasks) in the Option field and press Enter. The Define Parameters for Started Tasks screen is displayed.
Define Parameters for Started Tasks screen
---------------- Define Parameters for Started Tasks ------------------------
Option ===>
Import Parameters from Prior Release - Optional
I. Generate Import JCL
Options to Define Code Pipeline's CM, CT, and CI Parameters
1. Update Common Parameters
2. Update CM Specific Parameters
3. Update CI Specific Parameters
4. Update CT Specific Parameters
5. Generate Parmlib MembersIf you do not want to import parameters from a prior release, skip ahead to Step 5 (not Option 5).
To import parameters from a previous release of Code Pipeline, type I in the Option field and press Enter. The Import Parameters screen is displayed.
Import Parameters screen------------------------- Import Parameters ---------------------------------
Option ===>
Enter GEN to Generate Parm Job, END to leave.
Dataset and Member for the CM to import:
'ISPW.PARM.DATASET(IWCMTPZT)'
'ISPW.PARM.DATASET(IWCMTPZT)'
Dataset and Member for the CI to import:
'ISPW.PARM.DATASET(IWCITPZT)'
Dataset and Member for the CT to import:
'ISPW.PARM.DATASET(IWCTTPZT)'- Make sure the data set and member are correct for CM, CI, and CT, then type GEN in the Option field and press Enter. An ISPF edit session is opened for the job $IMPORT that will be run to import your site’s existing Code Pipeline parameters.
Review the job, then submit it. The imported parameters will form the basis of the CM, CI, and/or CT parameters used in this release of Code Pipeline. The $IMPORT job should complete with one of the following return codes:
- 0 – No issues.
- 4 – Warning: Some parameters may have been skipped.
- 12 – Error: Invalid parameters were found. These should be reviewed and corrected.
These return codes will not prevent the job from running or cause it to fail, but they should be reviewed in order to make any necessary changes to your parameters.
If you do not want to make changes to your imported parameters, skip ahead to Generate Started Task PARMLIB Members.
Type 1 (Update Common Parameters) in the Option field and press Enter. The Define Common Parameters for Started Tasks screen is displayed. Fields with defaults are pre-filled, but you can overtype them.
Define Common Parameters for Started Tasks screen
--------------- Define Common Parameters for Started Tasks ------------------
Option ===>
These Parameters are shared between 2 or more of the
started tasks.
Should these parameters be the default parameters
for the CMSC (Y/N)? N
Server Names
SERVERID ISPP
WZCMNAME ISPWPCM
WZCINAME ISPWPCI WZCTNAME ISPWPCT
Port Numbers
WZCMPORT NNNNN
WZCMXPRT NNNNN
Communication
XSYSPROT TCPIP
WZCMADDR NNN.NNN.NNN.NNN- These parameters can be made the defaults for the CMSC. In the Should these parameters... field, type Y or N based on the following:
- If set to Y (Yes), the PARMLIB members generated will have the names IWCM00, IWCI00, and IWCT00. This will cause them to be used as the default by any Code Pipeline instance on the CMSC, unless another set is specified in the PROC.
If set to N (No), the PARMLIB members generated will have names in the format IWCMxxxx, IWCIxxxx, and IWCTxxxx. Where xxxx is the SERVERID specified by the user. A corresponding DD will be added to each of the Started Task PROCs to signify which PARMLIB member to use.
- In the Server Names section of the screen, enter the following:
- In the SERVERID field, enter Code Pipeline (CM) Server ID used by Code Pipeline clients. This is the internal name given to the Code Pipeline instance.
- In the WZCMNAME field, enter the internal name for the Code Pipeline Server (CM) task.
- In the WZCINAME field, enter the internal name for the Communications Interface (CI) task that communicates with the CM specified in WZCMNAME.
- In the WZCTNAME field, enter the internal name for the Component Transfer (CT) task that communicates with the CM specified in WZCMNAME.
- In the Port Numbers section of the screen, enter the following:
- In the WZCMPORT field, enter the port number the CM task listens on for connections from CI and CT.
- (Optional) If
Workbench for Eclipse
18.02 and above or REST APIs will be used, in the WZCMXPRT field, enter the port number the CM task listens on for those type of requests.
- In the Communications section of the screen, enter the following:
- In the XSYSPROT field, enter the communications protocol used by the CM.
- The IP address of the LPAR on which the CM Started Task runs. The IP address can be either a DNS name or IP address, unless VIPA (Virtual IP Addresses) is used. If VIPA is used, this must be the IP address assigned to the CM Started Task or the DNS name that resolves to the VIPA IP address.
Task 8.2 Extract extra parameters
If you are performing a new installation or do not have security or TRCMD records, skip ahead to Define CM Specific Parameters.
The migration program ignores security and TRCMD records. The security records are SECRULE, SECPREFIX, SECDELIM and SECCLASS. The extract utility copies these records to a file that is read by the CI, CM, or CT. Run this extract utility only if there were security and TRCMD records ignored by the migration tool.
Execute the extract utility for each CM, CI, and CT you currently run. JCL for the extract utility is provided in the SAMPLIB. There is one for each address space. You must supply the appropriate JOB card information and customize the JCL as required. You will need to modify and run each of the following JCL members located in the SPWMSAMP data set:
- XTRACCI
- XTRACCT
- XTRACCM
The following figure shows sample JCL for extracting security and TRCMD records from the CM parameters.
Sample JCL for Parameter Extraction
//*
//* EXTRACT CM PARAMETERS
//*
//MPWXTRAC EXEC PGM=MPWXTRAC,REGION=0M
//STEPLIB DD DISP=SHR,DSN=#BASEHLQ.#BASELOAD
//*
//* USE MEMBERS POINTED TO BY SDEFINI AND SDEFISPW DD NAMES
//* IN THE CM PROC
//INPTFILE DD DISP=SHR,DSN=#SITEHLQ.#SITELEVP.#SITEPARM(SDEFINI)
// DD DISP=SHR,DSN=#SITEHLQ.#SITELEVP.#SITEPARM(SDEFW3T)
//*
//* USE THIS DSN AND MEMBER FOR THE REFRDATA DD STATEMENT
//OTPTFILE DD DISP=SHR,DSN=#SITEHLQ.#SITELEVP.#SITEPARM(CMREFDAT)
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ABNLIGNR DD DUMMY
//
Task 8.3 Define CM specific parameters
Return to the Define Parameters for Started Tasks screen, type 2 (Update CM Specific Parameters) in the Option field, and press Enter. The Define Parameters for the CM Started Task screen is displayed. Fields with defaults are pre-filled, but you can overtype them.Define Parameters for the CM Started Task screen
---------------- Define Parameters for the CM Started Task ------------------
Option ===>
SECCLASS $ISPW
SECRULE * * DUMMY.RESOURCE.NAME NONE
SETPROC ISPWPSX
FXPROC ISPWPFX
TCPUSERID TCPIP
Number of TCB's:
GPROCESS 02 SPROCESS 02
Authorized Users for Server Start:
AUTHUSER USER001 AUTHUSER USER002
AUTHUSER USER003 AUTHUSER USER004
Optional Parameters:
WEBAPI(Y/N) N CUSTOM DIALOGS(Y/N) N
CONFIG NAMES(Y/N) N- In the upper portion of the screen, enter the following:
- In the SECCLASS field, type the SAF security class used by Code Pipeline. See Set Up an SAF Class.
- In the SECRULE field, type the Security Rule Specification.
- In the SETPROC field, type the name of the SX started task. CM will issue a z/OS START for this name when Set Processing is required.
- In the FXPROC field, type the name of the FX started task. CM will issue a z/OS START for this name when Custom Exit processing is required.
In the TCPUSERID field, type the job name of the TCP/IP address space. The default is TCPIP.
- In the Number of TCB’s section of the screen, enter the following:
- In the GPROCESS field, type the number of long running requests that can be processed against Db2 (threads). Maps to the number of long running TCBs.
- In the SPROCESS field, type the number of short running requests that can be processed against Db2 (threads). Maps to the number of short running TCBs.
- In the Authorized Users for Server Start section of the screen, enter a maximum of four userID(s) that can perform a server start. The userID of the installer should be the first entry.
- In the Optional Parameters section of the screen, enter the following:
- In the WEBAPI field, type Y or N . Specifying Y (Yes) enables the Web Services API to Code Pipeline. The default is N (No).
In the CUSTOM_DIALOGS field, type Y or N. Specifying Y (Yes) enables use of custom dialogs. the default is N (No).
- In the CONFIG_NAMES field, type Y or N. Specifying Y (Yes) enables loading of a list of valid runtime configuration names for this CM. The default is N (No).
Task 8.4 Define CI specific parameters
Return to the Define Parameters for Started Tasks screen, type 3 (Update CI Specific Parameters) in the Option field, and press Enter. The Update the Code Pipeline CI Parameters screen is displayed. Fields with defaults are pre-filled, but you can overtype them.Update the Code Pipeline CI Parameters screen
---------------------- Update the Code Pipeline CI Parameters ------------------------
Option ===>
CI Parms:
Cross-memory ID
XMEMID ISPP
Port Numbers
WZCIPORT NNNNN
WZCIXPRT NNNNN
IP Addresses
WZCIADDR NNN.NNN.NNN.NNN- In the Cross-memory ID XMEMID field, enter the cross-memory ID to be used by Code Pipeline clients to send messages to this CI.
- In the Port Numbers fields, enter the following:
- In the WZCIPORT field, enter 0 (no longer required).
- In the WZCIXPRT field, enter 0 (no longer required).
- In the IP Addresses WZCIADDR field, leave it blank (no longer required).
Task 8.5 Define CT specific parameters
Return to the Define Parameters for Started Tasks screen, type 4 (Update CT Specific Parameters) in the Option field, and press Enter. The Update the Code Pipeline CT Parameters screen is displayed. Fields with defaults are pre-filled, but you can overtype them.Update the Code Pipeline CT Parameters screen
---------------------- Update the Code Pipeline CT Parameters ------------------------
Option ===>
CT parms:
TEMPPREFIX ISPW.PROD .CT.TEMP
TEMPUNIT SYSDA
TEMP PRIMARY SPACE 5
TEMP SECONDARY SPACE 30
CWIDLE 60 HKINTERVAL 60
COMPSTAT(Y/N) Y HSMINT(Y/N) Y
TCPUSERID TCPIP
IP Addresses
WZCTADDR
External Function
EFPROC ISPWPEF EFRTCONF ISPWPROD
Audit Log:
AUDITGDG ISPW.PROD .CT.CTNAME.AUDIT
AUDITMAX 10 AUDITUNIT SYSDA
AUDITVOL * AUDITSIZE 45- In the CT parms section of the screen, enter the following:
- In the TEMPPREFIX field, enter the prefix used to allocate temporary data sets. Created files are deleted by CT. Must be 12 characters or less.
- In the TEMPUNIT field, enter the unit for temporary data sets allocation. The default is SYSDA.
- In the TEMP_PRIMARY_SPACE field, enter the primary allocation space the address space will use for CT Started Task temporary data sets.
- In the TEMP_SECONDARY_SPACE field, enter the secondary allocation space the address space will use for CT Started Task temporary data sets.
- In the CWIDLE field, enter the number of seconds the warehouse data set can be idle before it is closed and deallocated. The default is 60 seconds.
- In the HKINTERVAL field, enter the number of minutes between warehouse housekeeping operations. The default is 60 minutes.
- In the COMPSTAT field, enter Y (Yes) or N (No) to specify whether compression statistical messages are to be written to SYSLOG. The default is N.
In the HSMINT field, enter Y (Yes) or N (No) to specify whether to use HSM to recall migrated data sets. The default is Y.
- In the TCPUSERID field, enter the job name of the TCP/IP address space. The default is TCPIP.
- In the IP Addresses WZCTADDR field, enter the virtual IP address for the CT. Include only when VIPA will be used—otherwise leave blank.
- In the External Function section of the screen, enter the following:
- In the EFPROC field, enter the name of the ISPWEF proclib member. Include only if you will be using the Code Pipeline External Function Processor Enhancement.
- In the EFRTCONF field, enter the Runtime Config entry to be used by ISPWEF when communicating with CI. Include only if you will be using the Code Pipeline External Function Processor Enhancement.
- In the Audit Log section of the screen, enter the following:
- In the AUDITGDG field, enter the data set name for GDG created for the audit log.
- In the AUDITMAX field, enter the maximum number of GDG versions. The default is 10.
- In the AUDITUNIT field, enter the allocation unit for GDG data sets. The default is SYSDA.
- In the AUDITVOL field, enter the allocation volume for GDG data sets. The default is an asterisk (*) specifying to use SMS.
- In the AUDITSIZE field, enter the allocation size for GDG data sets, in tracks.
Task 8.6 Generate Started Task PARMLIB members
Return to the Define Parameters for Started Tasks screen, type 5 (Generate Parmlib Members) in the Option field, and press Enter. If the PARMLIB members have not yet been generated, the dialog will generate them, place them in the previously designated “Work” dataset, and display the Generate Manual Tasks screen. If the PARMLIB members have been previously defined, the popup shown in Popup on the Generate Manual Tasks Screen will be displayed asking whether they should be regenerated or not.Generate Manual Tasks screen
----------------------- Generate Manual Tasks ------------------- Enter option
Command ===>
Select option to Edit generated PARM member.
1. Edit CM PARM Member
2. Edit CT PARM Member
3. Edit CI PARM MemberPopup on the Generate Manual Tasks screen
------------------- Define Parameters for Started Tasks ---------------------
+-----------------------------------------------------------------------------+
| Warning: Regenerate Parmlib Members? |
| Command ===> |
| |
| Press ENTER to continue |
| |
| |
| Warning: Regenerating the Parmlib Members will cause any changes |
| that were made, outside of this dialog, to be lost. |
| |
| Would you like to regenerate the Parmlib Members? (Y/N) |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------------------------------------------------------------------+- If the popup shown in Popup on the Generate Manual Tasks Screen is displayed, type Y (Yes) or N (No) in the Would you like to regenerate the Parmlib Members field, then press Enter to continue.
To edit one of the PARMLIB members after they have been generated, type 1 , 2 , or 3 in the Command field and press Enter. An ISPF edit session will be displayed for the chosen member.
Once the tasks have been generated, go to the “Work” dataset you specified initially on the Code Pipeline Configuration Dialog. You will find three members, the names of which are dependent on whether they were specified as the default or not in Define Common Parameters. Their names will be in the format IWCMxxxx, IWCIxxxx, and IWCTxxxx where xxxx is either the SERVERID (for non-default) or 00 (for default).
These three members will need to be copied into the PARMLIB that corresponds with the CMSC you plan to use for this instance of Code Pipeline. Contact your CMSC administrator for complete details on where the PARMLIB resides and setting up the CMSC for use with Code Pipeline. You might not have access to copy members to the PARMLIB.
When the three PARMLIB members have been copied over to the PARMLIB, a CMSC refresh command will be needed for the CMSC to recognize the new members. To do so, use the z/OS MODIFY (F) command to update the CMSC with the PARMLIB members you created or updated.
Refreshing all PARMLIB members
F cmscname,PARMLIB REFRESH
Refreshing a single parameter member
F cmscname,PARMLIB REFRESH member_name
Multiple CI and CT Started Tasks
If your site requires multiple CI and CT Started Tasks, you will need to create additional PARMLIB members, each with their own unique suffix. Appropriate DD statements will also need to be added or modified in the PROCs for the startup tasks. For more information on the format, see Multiple CIs and CTs.