[Bug 1919451] Re: Update (python-)zhmcclient to latest release

Frank Heimes 1919451 at bugs.launchpad.net
Fri Jul 30 16:42:28 UTC 2021


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
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1919451

Title:
  Update (python-)zhmcclient to latest release

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in zhmcclient package in Ubuntu:
  Fix Released
Status in zhmcclient source package in Focal:
  Incomplete
Status in zhmcclient source package in Hirsute:
  New

Bug description:
  [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).

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




More information about the Ubuntu-sponsors mailing list