I think the main reason why hirsute is missing here, is because the ticket was 
opened when groovy was still in development, but since the package was now 
updated and released for Impish first (as current development release), hirsute 
became needed on top (groovy EOLed already).
I agree that this will ensure that nobody runs into regressions, even if I 
strongly assume that no one will seriously use MAAS on a non-LTS version in 
production, especially on s390x. And MAAS v3.0 (released June 22nd) is the 
first official version that supports LPARs and requires the zhmcclient for 
this. However, one may also use the zhmcclient w/o MAAS - so I'll add hirsute 
as affected.

The initial zhmcclient version was added to the archive in 2019 due to 
prototype work at that time (maybe it should have been added to a PPA rather 
than directly to the archive - anyway).
After this early coding was done, the work couldn't be continued for several 
reasons, but was then picked up again earlier this year - meanwhile the 
zhmcclient became a bit outdated (and was never used by MAAS). But with new 
hardware (especially its HMCs in DPM mode) the zhmcclient evolved over time 
upstream.

Reviewing the changes/commits starting from 0.28 to 0.31 (68 + 37 + 27 +
15 commits) let me think that they are largely unintrusive, just a few
new features were added (like DPM Capacity Groups), the docs, examples
and lots of meta updated, error and exception handling refined
<important>, and last but not least several important bugs fixed (for
installation, .find for objects <again important>, certificates, missing
argument in method) - some of them were identified during the
development of DPM/LPAR support in MAAS earlier this year (for example
LP#1916475).

Therefore, and because the zhmcclient is not wide-spread yet (since MAAS
v3.0 can make use of it just since June the 22nd), it's for accessing
and managing Z systems only via the HMC API, what not many organizations
allow (in general) for security reasons and because v0.31 was the
version that was already used for development _and_ final product
testing (these days as a git clone), makes me rating the regression risk
as low.

On top of the testing that was already done, the zhmcclient comes with several 
examples 
(https://github.com/zhmcclient/python-zhmcclient/tree/master/examples), which 
would partly also work with non-DPM HMCs, like our z13 - hence could be (as far 
as possible) ran (by me), too.
(I'll update the template in the bug description.)

** Also affects: zhmcclient (Ubuntu Hirsute)
   Importance: Undecided
       Status: New

** Description changed:

  [Impact]
  
  In order to remotely power-cycle IBM z14 GA2 (or newer) or IBM LinuxONE
  III (or newer) machines/LPARs from within a MAAS controller, the
  python3-zhmcclient libraray (>= v0.29) is needed, to provide all the
  functions required for controlling the HMC.
  
  [Test Plan]
   * setup a MAAS controller inside a LPAR
   * use that controller to deploy a new Ubuntu Server instance in an 
additional LPAR
   * use that controller to deploy a new Ubuntu Server instance inside a KVM 
host (inside another LPAR)
   * Power-cycle the LPAR instance
   * Power-cycle the KVM instance
+  * on top and for regression testing the example (as shipped by the 
zhmcclient) can be ran as well (as far as possible on a non-DPM HMC setup):
+ https://github.com/zhmcclient/python-zhmcclient/tree/master/examples
  
  Also get confirmation from the MAAS team that things are working as
  expected.
  
  [Where problems could occur]
  
  This library is s390x only and zhmcclient isn’t widely used yet, it has very 
limited exposure within the s390 environment. If we would be hit by a 
regression, we would not be able to power-cycle or deploy any LPAR (or KVM host 
inside LPAR) machine, using a Focal-based MAAS controller.
  This is basically also the status quo, as the current version in Focal 
(v0.22) does not allow for that functionality either.
  
  [Other Info]
  * 
https://maas.io/docs/snap/3.0/ui/power-management#heading--configure-use-ibm-z
  * As this is only used on MAAS controllers, running LTS releases, the 
backport is not needed for Hirsute 21.04
  * The new package dependencies are fulfilled in Focal:
    - python3-requests >= 2.20.1 (focal contains 2.22.0-2ubuntu1 in main)
    - python3-decorator >= 4.0.11 (focal contains 4.4.2-0ubuntu1 in main)
  
  === Original description ===
  
  While working on MAAS DPM/LPAR it turned out that a newer python-
  zhmcclient (package zhmcclient) is needed to get certain functions work,
  like especially storage group support.
  
  The latest is package is v0.27 on hirsute and v0.22 on focal.
  
  v0.28 is currently the latest release, but 0.29 is coming shortly.
  https://github.com/zhmcclient/python-zhmcclient/issues/731
  
  Hence an updated package (ideally to 0.29) is needed for focal (knowing that 
this will require a good justification: 
https://wiki.ubuntu.com/StableReleaseUpdates).
  Please notice that MAAS was the only reason why the zhmcclient package was 
created at all.
  
  The updated package is especially needed for focal, since focal is the
  recommended base distro for MAAS DPM/LPAR, hence this would require a
  special SRU (for this package version bump).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1919451

Title:
  Update (python-)zhmcclient to latest release

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1919451/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to