just a little story from Canonical on that - using smaclient with SMAPI today.
I was looking for my development team mates for a way to kick-off fully-automated-installations (FAIs) from their (Linux/Ubuntu) workstation.
So I had a look at several tools:
Doesn’t really allow to do this job.
It allows to (re-)start (aka re-boot aka re-IPL) systems, but I couldn’t find a way to kick-off an installation.
On z/VM, so via SMAPI, I didn’t found a way to execute an ‘exec’ from remote, on LPAR no Load from removable media possible.
Cool and promising, but LPAR only.
But even for LPARs it’s missing right now a way for using Load from Removable Media remotely.
This is because the HMC does not yet exposes this task via it’s web API. I requested that from IBM, but these kinds of changes take some time …
The natural way to look at, because it’s coming from and is supported by IBM.
Well, quite a huge bunch of C code, not really light-weight - and I already struggled to adjust the Makefile to get it compiled on Ubuntu (well, I obviously focus on Ubuntu only … )
Wooow, I was impressed - at this point many thx to SineNomine for making it available!
It’s “just” a bash script, hence as light-weight as it can be, no compile, portable (runs on my local x86 workstation, but also on a s390x system), easily expandable, single script (all-in-one), … and just worked w/o any modification!
Unfortunately it’s a bit outdated, doesn’t support the very latest SMAPI functions, but luckily the functions that I was looking for.
Based on the smaclient I created the following ‘hack’:
smaclient allows me to access z/VM - as usual via SMAPI.
I can now change the IPL line in the user direct, so I can IPL CMS instead of a Linux from disk, I can also add some IPL PARMs that allow me to specify a REXX script to call from CMS later.
The IPL PARMs are automatically handed over to the SYSPROF EXEC, I adjusted the SYSPROF EXEC (using localmod) to look for my special install PARMs, I handed over these again to the PROFILE EXEC and execute an Ubuntu installation exec there, based on the PARMs given, and finally a fully automated “preseed” installation is kicked-off.
All this is done in about 5 minutes, incl. all updated that exist on top of the install system and the post-install reboot.
And my development folks don’t need to touch a 3270 terminal …
(Once the zhmcclient supports the Load from Removable Media task I implement something similar for LPARs.)
A valid question could now be:
Why don’t we use Ubuntu KVM, Container/LXD or OpenStack for deploying systems?
Well, we do - of course
But from time to time we also have the need to test LPAR and VM installations or components that run directly in VM or LPAR rather than in KVM VMs or containers.
A distributor has quite diverse needs and requirements …