system rexx & health checker i a practical approach guide/share europe march 2015 jan de decker...
TRANSCRIPT
![Page 1: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/1.jpg)
System REXX & Health Checker I
A practical approach
Guide/Share Europe March 2015
jan de decker [email protected]
GSE March 2015GSE March 2015
![Page 2: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/2.jpg)
Agenda
• System Rexx Basics• Discussion
GSE March 2015GSE March 2015
![Page 3: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/3.jpg)
System Rexx BasicsWhat's in a name?
• Executes outside of conventional TSO/E and Batch environments
• Execs reside in REXXLIB concatenation• EXECs can be compiled or interpreted• PARMLIB member AXRxx from IEASYSxx• PARMLIB member CTIAXR00 for controlling
Component Trace
GSE March 2015GSE March 2015
![Page 4: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/4.jpg)
System Rexx BasicsWhat's in a name?
• Additional functions to interact with the system• TSO=YES/NO environment• Problem state, APF authorized• Assembler API• Intended use is system, not application related
GSE March 2015GSE March 2015
![Page 5: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/5.jpg)
Documentation
• Authorized Assembler Services Reference, Volume 1 (ALE-DYN) [SA22-7609-xx]
• Authorized Assembler Services Guide[SA22-7609-xx]
• System Commands [SA22-7627-xx]
GSE March 2015GSE March 2015
![Page 6: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/6.jpg)
System Rexx BasicsAllocation of a REXXLIB dataset
GSE March 2015GSE March 2015
![Page 7: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/7.jpg)
System Rexx BasicsManaging the Address Spaces
• Active if AXR address space is present• Starts automatically during Master Scheduler
Initialization• Should run in the SYSSTC service class• D A,AXR
• PARMLIB concatenation member AXRxx• Assembler API• Intended use is system, not application related
GSE March 2015GSE March 2015
![Page 8: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/8.jpg)
System Rexx BasicsManaging the Address Spaces
• System REXX address space (AXR)• 8 TSO Server address spaces (AXR01-AXR08) in
which TSO=YES requests are processed• Must have user IDs defined• RACF group must have READ authority to the
PARMLIB and REXXLIB concatenation
GSE March 2015GSE March 2015
![Page 9: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/9.jpg)
System Rexx BasicsManaging the Address Spaces
• AXR and AXR01 – AXR08 must be defined in • RACF class STARTED• ICHRIN03
GSE March 2015GSE March 2015
![Page 10: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/10.jpg)
System Rexx BasicsManaging the Address Spaces
• Status?• F AXR,SYSREXX,STATUS • F AXR,SYSREXX,REXXLIB
• No STOP command, non-cancelable• FORCE AXR,ARM • AXR0103I SYSTEM REXX HAS ENDED
• Restart• S AXRPSTRT,AXR=xx
GSE March 2015GSE March 2015
![Page 11: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/11.jpg)
Parmlib member AXRxx
• Command Prefix Facility CPF(‘@’,SYSPLEX)• REXXLIB concatenation (max 255 extents)• AXRUSER
• AXREXX macro is coded with SECURITY=BYAXRUSER
• address spaces that do not have bonafide security environments• MASTER• E.g. MPF exit
GSE March 2015GSE March 2015
![Page 12: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/12.jpg)
AXRUSER
• ADDUSER siteuserid DFLTGRP(sitegroupid)• RDEFINE SURROGAT SYSREXX.* UACC(NONE)• PERMIT SYSREXX.* CL(SURROGAT)
ID(siteuserid) ACCESS(READ)• SETROPTS RACLIST(SURROGAT) REFRESH
GSE March 2015GSE March 2015
![Page 13: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/13.jpg)
TSO=NO
• Executed in an MVS host command environment
• Sharing the AXR address space where it is executing with up to 63 other concurrently running TSO=NO execs
• Data set allocation other than provided by the AXREXX macro is not supported, only • REXXINDSN• REXXOUTDSN
GSE March 2015GSE March 2015
![Page 14: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/14.jpg)
TSO=NO
• LINK • ATTACH • CPICOMM • LU62 • LINKMVS • ATTCHMVS • ATTCHPGM • APPCMVS
GSE March 2015GSE March 2015
![Page 15: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/15.jpg)
TSO=YES
• Exec will run isolated in a dedicated address space
• Up to 8 TSO server address spaces• All environments of TSO=NO • Supports SYSCALL
GSE March 2015GSE March 2015
![Page 16: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/16.jpg)
TSO=YES Commands
• ALLOCATE (except SYSOUT)
• ATTLIB • ATTRIB • CALL • DELETE • EXEC • FREE • HELP
• OUTTRAP • PROFILE • RECEIVE • RMM • SEND • SMCOPY • TIME • TRANSMIT
GSE March 2015GSE March 2015
![Page 17: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/17.jpg)
TSO=YES profile attributes
• NOCHAR • NOLINE • NOPROMT • NOINTERCOM • NOPAUSE • MSGID
• NOMODE • WTPMSG • NORECOVER • PLANGUAGE(ENU) • SLANGUAGE(ENU) • VARSTORAGE(HIGH)
GSE March 2015GSE March 2015
![Page 18: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/18.jpg)
Limits
• Up to 64 REXX worker tasks running TSO=NO execs
• Up to 8 TSO server address spaces running TSO=YES execs
• If all in use, the request is queued and the requestor is suspended if SYNC=YES is specified in the AXREXX macro
• At most 5000 active and waiting requests are allowed to exist
• Subsequent requests are rejected until the number of active and waiting requests drops to 4000
GSE March 2015GSE March 2015
![Page 19: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/19.jpg)
Limits
• Up to 64 REXX worker tasks running TSO=NO execs
• Up to 8 TSO server address spaces running TSO=YES execs
• If all in use, the request is queued and the requestor is suspended if SYNC=YES is specified
• At most 5000 active and waiting requests are allowed to exist
• Subsequent requests are rejected until the number of active and waiting requests drops to 4000
GSE March 2015GSE March 2015
![Page 20: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/20.jpg)
System Rexx functions• AXRWTO
– message text (1-CL126) to be issued via a WTO macro• AXRMLWTO
– multi-line WTO • AXRCMD
• issue a system command from within the exec• obtain one or more command responses
• AXRWAIT• wait for a specified amount of time in seconds
• AXRINFO• information about the environment under which the
| exec is running
GSE March 2015GSE March 2015
![Page 21: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/21.jpg)
AXRCMD Extended
Get_Command_Response: parse upper arg command command = strip(command) response. = ''r_i = 0 rc = AXRCMD(command,'o_lines.',10)IF rc = 0 then do do while rc = 0 IF o_lines.0 >= 1 then do do o_i = 1 to o_lines.0 r_i = r_i + 1 response.r_i = o_lines.o_i end end rc=AXRCMD(,'o_lines.',10) end endelse do say 'AXRCMD' command 'returned non-zero return code:' rc return rc end response.0 = r_i return(0)
GSE March 2015GSE March 2015
![Page 22: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/22.jpg)
AXREXX Macro Authorization
• Supervisor state• PKM 0-7• PSW key 0-7• APF-authorized
GSE March 2015GSE March 2015
![Page 23: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/23.jpg)
AXREXX Macro Usage
• Replace assembler exits with – Stub to call the exec– Rexx coding
• Example in SYS1.SAMPLIB• RACEXITS Contains assembler stub coding
for RACF password-phrase-exit ICHPWX11• IRRPHREX System REXX
GSE March 2015GSE March 2015
![Page 24: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/24.jpg)
AXREXX Macro
GSE March 2015GSE March 2015
![Page 25: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/25.jpg)
From scratch: SETROPTX
• First customer build System REXX• A System REXX that reports on the RACF
options regarding passwords• Output goes to the system log
GSE March 2015GSE March 2015
![Page 26: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/26.jpg)
SETROPTX IRRXUTIL API Usage
• REXX Interface to R_Admin• Security Server Macros and Interfaces
[SA22-7682-xx]
• Security Server Callable Services[SA22-7691-xx]
• READ access to IRR.RADMIN.STROPTS.LIST in class FACILITY
GSE March 2015GSE March 2015
![Page 27: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/27.jpg)
SETROPTX RACF
• Define a group for the AXR AS userids • Define userids AXR & AXR01-AXR08• Define entries in STARTED or ICHRIN03• Define the siteuser
GSE March 2015GSE March 2015
![Page 28: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/28.jpg)
SETROPTX System
I. Allocate your REXXLIB datasetII. Create a PARMLIB concatenation member
AXRxx• Siteuserid• Your System Rexx dataset
III. Optionally adapt IEASYSxxIV. Stop System REXX (Force arm)V. Restart System REXX
GSE March 2015GSE March 2015
![Page 29: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/29.jpg)
SETROPTXExtract the SETROPTS settings
myrc=IRRXUTIL("EXTRACT","_SETROPTS","_SETROPTS","RES")if (word(myrc,1)<>0) then do say « IRRXUTIL Return code = "myrc say « Processing stops." exit 1 end
GSE March 2015GSE March 2015
![Page 30: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/30.jpg)
SETROPTXProcess the results (snippet)
say "The following password policy rules are in effect:"if RES.BASE.MIXDCASE.1 = "TRUE" then say " Mixed case passwords are allowed."else say " Mixed case passwords are not allowed." etc…
GSE March 2015GSE March 2015
![Page 31: System REXX & Health Checker I A practical approach Guide/Share Europe March 2015 jan de decker jan@jedsp.net GSE March 2015](https://reader036.vdocument.in/reader036/viewer/2022062308/56649d055503460f949d9004/html5/thumbnails/31.jpg)
SETROPTX Execution
GSE March 2015GSE March 2015