Software deployment @ Euroclear SA/NV

advertisement
IBM System z Technical University – Berlin, Germany– May 21-25
Session code zZS25
***** PRELIMINARY VERSION V *****
Software Deployment Customer Experiences
Tim Alpaerts, Euroclear
© 2012 IBM Corporation
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
2
Terminology
 Installation system: one particular MVS system dedicated to installing software and
installing fixes.
 End-User system: all MVS systems other than the installation system.
 Dead libraries: product libraries created on the installation system by software installation,
(maybe SMP/E installed or non-SMP/E installed) not actively in use by an instance of the
product.
 Retrofit: after making a local correction on an end-user system, it needs to be incorporated
into the dead libraries for future builds.
 Version-less dsnames: product library dsnames that do not imply a particular version or
release of a software, they do not contain a version release qualifier.
 Non-Uniform software stacks: selectively activating only the needed parts of the complete
enterprise software stack on every system, mainly for the purpose of reducing the license
charge.
3
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
4
Pre-production Brussels
The old situation, overview
Pre-production Paris
Production systems
Development systems
K-systems
each group of systems:
Test systems Paris
Active MVS target & dlibs
Inactive MVS target & dlibs
Test systems Brussels
IBM
MVS SMPE,
2 target zones,
2 dlib zones
5
IBM
SMPE
non-IBM
products
within each group
DASD was shared with CA-MIM
Some issues with the old set-up
 Version-release qualifiers in dsnames of product libraries make system upgrades
risky.
 Enqueue and reserve contention interference between lpars, instability from deadlocks.
 No inventory nor overview of what system is using what software releases.
 No obvious distinction between software product libraries and databases and work
datasets.
 Locally maintained PROGxx parmlib members accumulate errors over time
 Low confidence when doing IPL.
7
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
9
Objectives for the new design (1)
 Software installation needs to create dsnames (dead libraries) different from those
the driving system is using.
 All software installation work concentrated on one single system dedicated for this
purpose.
 All product libraries with version-less dsnames, to avoid widespread impact from
system upgrades.
 Distinction between R/O product libraries and R/W databases immediately
apparent from the dsname.
 Complete isolation of DASD between lpars in the IODF, no more cross-plex
sharing of dasd.
10
Objectives for the new design (2)
 All software, OS and all software products are upgraded in one go.
– Upfront agreement on scope and planning (IPL slots).
– Integrated testing.
– All the “hold actions” are performed in parallel and are repeatable.
 Provide a ‘perfect’ APF-list and link-list, complete but without any needless entries.
 Ensure at all times we have an SMP perfectly in-sync for every software rolled-out on every
system.
 Upgrade per system if required by a freeze of the environment.
 Complete inventory of software installation and deployment states.
– Visibility of what is used where (licencing, cleanup of old S/W)
 Installation guidelines and documentation is available the same way for all softwares.
11
The new design, overview (1)
K-systems
Production systems
Development systems
Test systems
&SYSR1
&SYSR2
&SYSR3
&OEMR1
&OEMR2
&OEMR3
12
each system:
Active IPL-set
Inactive IPL-set
6 model 9 vols
6 model 9 vols
End-user systems
The new design, the IPL-set
 IPL-set is restored from a (virtual) tape that was created on the installation system.
 Each sysplex has two IPL-sets, the active set and the inactive set.
 First volume of an IPL-set is the load device for the end-user system.
 First volume restored from full volume dump to include the IPL text in the dump, the other
volumes are dumped logically by dataset.
 Second volume contains an ICF user catalog for the VSAM datasets on the IPL-set.
 IPL-set is protected against updates by DFP OPEN exit IFG0EX0B, datasets can only be
opened for INPUT.
13
The new design, the IPL-set, continued
 Datasets on the IPL-set are cataloged with symbolic volsers defined in IEASYMxx parmlib
member with substrings from &SYSR1:
SYSDEF
SYMDEF(&SYSR2.='&SYSR1(1:5)2')
SYMDEF(&SYSR3.='&SYSR1(1:5)3')
SYMDEF(&OEMR1.='&SYSR1(1:5)5')
SYMDEF(&OEMR2.='&SYSR1(1:5)6')
SYMDEF(&OEMR3.='&SYSR1(1:5)7')
When MVS IPL processing sets &SYSR1, the volser of the IPL device to "IPCAA1",
then IEASYMxx sets
&SYSR2.
&SYSR3.
&OEMR1.
&OEMR2.
&OEMR3.
15
=
=
=
=
=
"IPCAA2"
"IPCAA3"
"IPCAA5"
"IPCAA6"
"IPCAA7"
The new design, overview (2)
K-systems
Production systems
Development systems
Test systems
Level-set,
6 model 9 volumes
&SYSR1
&SYSR2
&SYSR3
&OEMR1
&OEMR2
&OEMR3
16
Installation system
each system:
Active IPL-set
Inactive IPL-set
6 model 9 vols
6 model 9 vols
End-user systems
The new design, the Level-set
 An exact image of the software for the end-user systems.
 Generated by the TDSL application on the software installation system.
 A ‘contents’ dataset is added with the list of all products and libraries on the LS.
 The non-VSAM datasets on the LS are not cataloged, VSAM datasets get a
special temporary HLQ.
 Dsnames on the LS have no version-release qualifier (limited exceptions are
allowed),
 Exists only on the software installation system.
17
The new design, overview (3)
K-systems
Production systems
REF-set, SMS storage pool
REFx datasets
Development systems
Test systems
TDSL
Level-set,
6 model 9 volumes
&SYSR1
&SYSR2
&SYSR3
&OEMR1
&OEMR2
&OEMR3
19
Installation system
each system:
Active IPL-set
Inactive IPL-set
6 model 9 vols
6 model 9 vols
End-user systems
The new design, the REF-set
 A large SMS-pool with dead-libraries
 All the REF-datasets created by software installation go in this pool
 ACS routines direct all allocations of REFx datasets to this pool
 All REF-dsnames contain a version-release qualifier
 Mostly vendor product libraries, but also Euroclear ‘config’ libraries
 Exists only on the central software installation system
20
The new design, RENAME
K-systems
Production systems
REF-set, SMS storage pool
REFx datasets
Development systems
Test systems
TDSL
Level-set,
6 model 9 volumes
&SYSR1
&SYSR2
&SYSR3
&OEMR1
&OEMR2
&OEMR3
21
Installation system
each system:
Active IPL-set
Inactive IPL-set
6 model 9 vols
6 model 9 vols
End-user systems
The new design, rename rules (1)
 Dsnames in the REF-set need to be renamed when they are copied to the Level
Set.
 Standard processing: rename removes the version release qualifier, i.e.
REFN.T119A.OPS.LOAD
SYSN.OPS.LOAD
REFN / SYSN dataset:
one qualifier dropped
REF1.T113A.ZOS.LINKLIB
SYS1.LINKLIB
22
REF1 / SYS1 dataset:
two qualifiers dropped
The new design, rename rules (2)
The standard rename does not support two or more releases side by side.
 Keep-Qualifier processing: rename keeps the version release qualifier, i.e.
REFN.T119A.OPS.LOAD
SYSN.T119A.OPS.LOAD
 Keep-Qualifier processing is never done for SYS1 datasets:
REF1.T113A.ZOS.LINKLIB
SYS1.LINKLIB
23
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
24
The TDSL Product Catalog
 TDSL application handles software deployment on the installation system.
 TDSL Product Catalog describes all products and the datasets belonging to each
product in SQL tables.
 Each product (and version plus maintenance level) is identified by an 8-char
acronym.
 Product Catalog has attributes at the level of the product and at the level of the
dataset.
 Products can be duplicated in the Product Catalog to apply maintenance
25
The TDSL Product Catalog, screenshot
26
The TDSL Product Catalog, screenshot
LR indicator
Filter line provides a fast
navigation facility
More attributes on the right
not in this screenshot
Each product is identified by
an 8-char acronym
27
The TDSL Dataset List screenshot
28
The TDSL Product Catalog, dataset attributes
 Dataset Type:
INSTALL
SMP
DLIB
TARGET
VTARGET
UTARGET
NODIST
product installation jcl
the CSI clusters, SMPPTS, SMPMTS, SMPLOG, etc.
SMP dlibs, 100% inert for TDSL
SMP/E target library or other distributable dataset
VSAM target dataset
z/fs linear, always keeps version-release qualifier for automount
not distributed, but it contributes to the PROGxx member
 APF
dataset should be APF on end-user system
 LNK
dataset should be link-listed on end-user system.
29
The TDSL Product Catalog, dataset attributes, continued
 DSTVOL:
a symbolic volser like &SYSR1, &SYSR2 ...
In the dataset list of the z/OS 1.13 A product:
&SYSR1
…
REF1.T113A.ZOS.NUCLEUS
&SYSR1
REF1.T113A.ZOS.LINKLIB
&SYSR1
REF1.T113A.ZOS.IMW.SIMWSDCK
&SYSR2
REF1.T113A.ZOS.OMEG.TKANMOD
&SYSR3
…
&SYSR2
&SYSR3
Why fix the location of target datasets on the Level-set?
- to ensure SYS1.NUCLEUS etc. on &SYSR1 volume
- fewer catalog updates on the end-user system
31
&OEMR1
The TDSL product catalog, screenshot of z/OS 1.13 dataset list
32
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
33
Non-uniform software stacks (1)
swap validation
production
systems
test systems
development
systems
production K-systems
Systems using the same software stack:
34
EB systems
EF systems
SSE systems
K systems
Installation system
Non-uniform software stacks (2)
 Why not deploy all software on all systems?
Procurement dept. Licensing all software on all systems needlessly expensive.
Audit dept. libraries in APF list for software products that will never be used.
 Why not deploy software per-system?
Hard to maintain the multitude of parmlib members (i.e. PROGxx members)
Many different combinations to validate before a system upgrade.
 A solution in-between is needed.
All software will be present on all systems, but we make the libraries APF &
linklisted only on those systems where it is licensed.
To do this we add a where-used attribute to each product in the product catalog.
35
Non-uniform software stacks (3)
7 flags attributed to each product, each flag is on (used in this region) or off (not used in region)
SSE
EF
EP
ENL
K
BSOF
SY90
36
PROGEG
PROGEF
PROGEP
PROGEN
PROGEK
PROGEB
PROGES
the libraries of product CORT660A will be included in
PROGEG, PROGEF, PROGEP, PROGEN and PROGEB
but not in PROGEK or PROGES
Creating PROG members
Why create PROG members with a program?
 Software installers know what datasets need to be APF or Link-listed,
it’s in the product installation instructions -> can be entered in TDSL.
 We keep lists of datasets we don’t distribute, but that need to be in the PROG
member.
 TDSL has al the info it needs to create APF lists and Link lists for the End-User
systems.
37
Creating PROG members (2)
38
Creating PROG members (3)
39
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
40
TDSL Generate steps
 Choose software products to go onto a Level-Set.
 An SQL query finds all unique DSTVOLs
 Engineer specifies the ‘real’ volsers and device numbers for each symbolic
DSTVOLs,
i.e. &SYSR1 will be build on real volser L13A11
 The dialog produces jcl to build the LS with the selected software products.
Only the TARGET datasets will be copied to the LS
41
The TDSL Generate, screenshot
43
The treatment of link list datasets, space allocation
The problem:
 ALL REF-Set libraries have secondary space so SMP APPLY won’t fail with abend
x37.
 On the Level-Set, Link list libraries should have zero secondary allocation, to
prevent an extent being added when someone adds/updates a member.
The solution:
 DFDSS dataset copy will copy every library into a single extent.
 Copy with ALLDATA & ALLEXCP will preserve the allocated space.
 A homegrown utility clears the secondary allocation value in the VTOC of the
Level-Set.
44
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
45
Roll-out on the end-user system
 Each sysplex has an active and inactive IPL-set with associated master catalogs:
ACTIVE
MASTER CATALOG
ACTIVE
IPL-SET
INACTIVE
IPL-SET
IPCAA1
IPCAB1
CATALOG.PLXP.IPCAA1.MASTER
INACTIVE
MASTER CATALOG
CATALOG.PLXP.IPCAB1.MASTER
 Inactive IPL-set is formatted, ICKDSF INIT
 New master catalog is delete/defined
 A dump is restored onto the inactive IPL-set
 REPRO NOMREGECAT of the active master catalog to the new one
 Inactive master catalog is fixed for new- or changed datasets
 IPL from the inactive IPL-set.
46
This slide just for the notes
47
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
48
The Challenges of VSAM datasets
 VSAM datasets need to be cataloged for all processing.
Interferece with the driving system when copying VSAM datasets w same name.
 All IDCAMS processing requires a correct VSAM ‘back-pointer’
Catalog volume
Volume with VSAM dataset
forward pointer
ICF catalog
VVDS
SYSV.OMVS.ROOT.ZFS
VVR
back pointer
VSAM dataset SYSV.OMVS.ROOT.ZFS
49
The distribution of VSAM datasets (1)
On the installation system:
 Define a new ICF usercatalog on one of the LS volumes
 Define an alias for a new temporary HLQ with RELATE to the new usercat, i.e. SYSDEF
 Copy the VSAM datasets to the LS with RENAMEUNCONDITIONAL, REFx  SYSDEF
 Level-set is dumped to tape.
On the end-user system:
 Define a new ICF usercatalog on one of the IPLset volumes
 Delete/define the SYSDEF alias
 Restore VSAM clusters with the SYSDEF HLQ from tape (no rename)
 IDCAMS ALTER all SYSDEF dsnames in the user catalog to the normal HLQ for VSAM
50
The distribution of VSAM datasets (2)
 An alias with symbolic relate accomplishes the same ‘volume switching function’
as the symbolic volumes in the catalog do for non-vsam datasets:
DEFINE USERCATALOG –
(NAME(CATALOG.SYSV.IPCAA1) –
ICFCATALOG –
VOLUME(IPCAA2) –
CYLINDERS(1 1)
DEFINE USERCATALOG (NAME(CATALOG.SYSV.IPCAB1) –
ICFCATALOG –
VOLUME(IPCAB2) –
CYLINDERS(1 1)
DEFINE ALIAS(NAME(SYSV) –
SYMBOLICRELATE(CATALOG.SYSV.&SYSR1))
51
IPL-set A
IPL-set B
The distribution of VSAM datasets (3)
 LISTCAT ENTRY(SYSV) ALIAS ALL
ALIAS --------- SYSV
IN-CAT --- CATALOG.PLXP.IPCAA1.MASTER
HISTORY
RELEASE----------------2
ASSOCIATIONS
SYMBOLIC-CATALOG.SYSV.&SYSR1
RESOLVED-CATALOG.SYSV.IPCAA1
52
Agenda
 Terminology
 The old situation
 The new design
 The Product Catalog in TDSL
 Non-uniform software stacks
 TDSL Product Selection & Generate (build) processes
 The roll-out (restore) process
 VSAM challenges
 zFS on the installation system
53
z/FS file systems on the installation system (1)
Risks of APPLY on statically mounted file systems:
 If the wrong file system is mounted, an APPLY job could update USS components
belonging to a different SMP/E zone than the OS libraries.
 Potentially there could be data not hardened in the file system when a R/W
mounted file system is copied with dfDSS.
How automounted file systems can help:
 USS path in dddef’s can contain a zFS qualifier that makes automount mount the
file system corresponding to that zone.
 Automount will unmount file systems that have not been accessed for some
amount of time.
This reduces the time window during which uncommitted data can exist.
54
z/FS file systems on the installation system (2)
/etc/auto.master:
/SERVICE/DB2/DB2BASE
/etc/service_db2_db2base.map
/etc/service_db2_db2base.map
name
type
filesystem
mode
duration
delay
security
setuid
*
ZFS
REFN.<uc_name>.DB2.DB2BASE.ZFS
rdwr
60
10
Yes
no
DDDEF SDSNABIN in target zone TD1010A contains USS path:
'/SERVICE/DB2/DB2BASE/T10101A/bin/IBM/'
56
z/FS file systems on the installation system (3)
The SMP/E APPLY job:
//SMPCNTL DD *
SET BDY(TD1010A) .
APPLY SELECT(…) .
When SMP/E opens a file in the SDSNABIN directory it will cause the automount
daemon to mount
REFN.T1010A.DB2.DB2BASE.ZFS
onto mount point
/SERVICE/DB2/DB2BASE/T10101A
Automount replaces <uc_name> in the map file with the path-qualifier from the
SMP/E dddef path to obtain the zFS dsname:
i.e.
57
Filesystem
REFN.<uc_name>.DB2.DB2BASE.ZFS
becomes
REFN.T1010A.DB2.DB2BASE.ZFS
z/FS file systems on the installation system (4)
 A Loose End
How to distribute large zFS file-systems that need SMS extended format data
class attribute?
An SMS managed volume in the IPL-set is most unpractical.
58
The End
 Question Time.
59
Reporting on changes in the field
 At levelset generation time a hash is created for all datasets.
 Reporting is available to identify all changes between the levelset and a resident set
deployed in a user system.
64
Download