There a several cool new features for consoles introduced with z/OS Version 2 Release 1. In this entry I’ll cover how to add a console dynamically and how to delete a console dynamically.
Dynamic add of consoles
Prior to z/OS V2R1, an IPL was required to define a new console and a Sysplex-wide IPL was required to delete a console (except for the use of SAMPLIB utility IEARELCN).
Starting with z/OS V2R1, it is possible to add and delete MCS-type consoles dynamically without an outage.
The following console types can be added dynamically:
- HMCS (described later)
The following console types can be deleted dynamically:
Consoles can be added through the use of the SET CON=xx command, while consoles can be deleted through the SETCON DELETE,CN=consolename.
Let’s take a look an an example of adding a new console. In this example we add an OSA-ICC MCS console. The assumption here is that the OSA-ICC console definition for the console has already been done via the HMC, so I don’t cover that setup here.
The current defined consoles on the system (SC74 part of a 2 way Sysplex) are as follows:
The new console will be for SC74 with a device number of F400 and named SC74F400. First you need to add a console definition in a CONSOLxx parmlib member. I’ll use our existing CONSOL00 member which contains all the console definitions for both members of the Sysplex (symbolic are used to accomplish this CONSOLxx member sharing).
- Define a system symbol for it so that it has the same name throughout the Sysplex
- Using LOAD01 -> IEASYMXX with
- Create a console definition for it and share that among all sysplex members
- Console definition on shown above in CONSOL00
- Using IPL time CONSOLxx member: IEASYS00 -> CON=(00,DISTRIBUTED)
To add the new console use the new SET CON=xx command where xx is the CONSOLxx two letter suffix.
- Note: The SET CON=xx command is only supported in console distributed mode.
To display mode: D OPDATA,MODE:
Unlike CONSOLxx processing during IPL time, the absence of a keyword does not cause the default to be implemented.
The SET CON=xx command reads the specified CONSOLxx parmlib member and then creates new consoles and alters operational settings.
The following operational settings may now be changed (no way to do so dynamically before):
- DEFAULT statement: HOLDMODE and SYNCHDEST keywords
- HARDCOPY statement: HCFORMAT keyword
- INIT statement: CMDDELIM and the CTRACE default keywords
- Only specified settings are processed by the SET CON=xx command.
So I issue the SET CON=00 command to add the console. Here are the results:
The results are rather verbose since we used our existing CONSOL00 member which contains all our console definitions and keywords. Note the following:
- In the above example all defined keywords were processed.
In addition the all console definitions were parsed.
- SYSCONS cannot be added dynamically
- If a console already exists it is not added
To verify that the console was added issue the D C,L command. Here we see that the console (SC74F400) was added.
To avoid any operational characteristics being processed, you could create a new CONSOLxx parmlib member with just the console definitions to be added.
- Issue the SET CON=xx to point to the new CONSOLxx member
- Update your CONSOLxx member pointed to by IEASYSxx with the new console definitions.
Any SMCS or subsystem console defined dynamically on a z/OS V2R1 system via this functionality will be available to be used on any system (regardless of version level) in the Sysplex
Dynamic delete of a console
The new SETCON parameter, DELETE, allows you to delete an inactive console.
The syntax is SETCON DELETE,CN=consolename
Deletes the definition of the specified console from the system.
- The console name nnnnnnnn and all resources that are associated with it will be freed and removed from the system.
- Applies to MCS, HMCS, SMCS, Subsystem, as well as EMCS consoles.
The command can be used in place of the samplib utilities IEARELCN and IEARELEC.
In the following example I will delete the console that was added (SC74F400).
First list the consoles.
Then issue the SETCON DELETE,CN=SC74F400 command.
The message indicates that the specified console was deleted. The D C,L command verifies this.
Consoles must be inactive before issuing SETCON DELETE=xxx; otherwise, a message is issued and no action taken on console.
CNZ4301I CONSOLE SC74F400 WAS NOT REMOVED. CONSOLE IS ACTIVE
Systems with this functionality will be able to delete inactive consoles regardless of which system defined them.
A z/OS V2R1 system will be able to delete a console defined on a lower level system.
As a systems programmer these commands are very welcome additions. For more nifty features available with z/OS Version 2 Release one, see the IBM Redbooks Publication z/OS Version 2 Release 1 Technical Updates, SG24-8140.