Recording: https://ibm.box.com/s/zk1fvugy9ptnsxnrtyj89xt4zbhrzq7s
Attendees:
Barton - velocity
Alberto - SUSE
Len - ViCom
Mike M - ADP
Mike F - SUSE
Paul - IBM
Emily - IBM
TR - SUSE
Neale - Sine Nomine
Setareh - IBM
Dirk - SUSE
Last week’s meeting - requirements recap
Bakeoff between the different options: SMAPI, LXC, Zoom, zPRO
Networking
Storage
Security - Rob’s redpaper, firewalls, audit history
Auto builds, kiwi landscape
Question, should we categorize choices by open source and proprietary? This group should probably focus more on open source.
We can look at what we’re talking about as being 3 layers.
3 layers
Where do we want to focus our efforts?
Emily wrote in last week's minutes:
> Where do we want to focus our efforts?
One item I mentioned that I did not see in the minutes is the need for some
z/VM REXX EXECs to extend zoom/zuess. It should be fairly straightforward
for someone qualified. Let me elaborate on what I said on the call:
Zoom and zuess are on sourceforge. See:
https://sourceforge.net/projects/system-zoom/files/?source=navbar
For building new systems, we had to interface with existing REXX EXECs
we’ve been using for years. So we wrote a “user exit”. Below is a description
of the three operations and one sample “stub function”.
If someone has the desire, they could take a crack at finishing the stub function
and calling some REXX on a vanilla z/VM system.
Three operations in userexits.stubs:
1) Build System - Build (clone) a Linux system
2) Rebuild System - Rebuild a Linux system onto an existing virtual machine
3) Destroy System - Destroy a Linux system – shut it down and “NOLOG” it.
Sample stub function in /usr/local/sbin/userexits.stubs:
#+--------------------------------------------------------------------------+
function buildSystem
# Build (clone) a Linux system
# Args: none
#+--------------------------------------------------------------------------+
{
zMkStatusFiles # make an output file with a unique name
zSetGID # set global gid if global grpPrj is set
zLogMsg "Global variables in buildSystem():"
zMsg "calledFrom = $calledFrom" # 'cli', 'webui' or 'restapi'
zMsg "expMonths = $expMonths" # number of months till expiration
zMsg "gid = $gid" # user.s group ID
zMsg "grpPrj = $grpPrj" # group or group:project
zMsg "memGB = $memGB" # GB of memory
zMsg "newDistro = $newDistro" # Linux distribution to build
zMsg "numCPUs = $numCPUs" # number of CPUs
zMsg "LinuxFile = $LinuxFile" # file in /tmp where status is written
zMsg "user = $user" # Linux user doing the build
zMsg "VMfile = $VMfile" # file in /tmp where z/VM finishes callback
zMsg "desc = $desc" # description of the new system
zMsg "zoomFlags = $zoomFlags" # zoom flags to pass on
zMsg " "
zMsg "TO DO: write your code here in buildSystem() and copy to userexit.local"
return 1 # not successful
} # buildSystem()
What we do is write a message to the console of the zoom server and IBM
Operations Manager traps it and calls a REXX EXEC, just passing it all
arguments. Here’s the crux of that call:
echo $VMcmd | sudo /usr/bin/tee -a /dev/console