[Bug 2077382] Re: [SRU] support additional parametes on deploy()

Mauricio Faria de Oliveira 2077382 at bugs.launchpad.net
Tue Dec 10 13:17:43 UTC 2024


Hi Alan,

If I'm reading it right and not missing anything, the screenshots of the
MAAS UI are an alternative (not the CLI commands in the Test Plan) that
can confirm the 'Hardware sync' part -- as it shows 'Periodic hardware
sync enabled'.

Does anything in there tell whether or not the deployment is ephemeral
(e.g., as the command in the Test Plan)?

Thanks!

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-libmaas in Ubuntu.
https://bugs.launchpad.net/bugs/2077382

Title:
  [SRU] support additional parametes on deploy()

Status in python-libmaas package in Ubuntu:
  Fix Released
Status in python-libmaas source package in Jammy:
  Fix Committed
Status in python-libmaas source package in Noble:
  Fix Committed
Status in python-libmaas source package in Oracular:
  Fix Committed
Status in python-libmaas source package in Plucky:
  Fix Released

Bug description:
  [ Impact ]

  * This SRU is not addressing an existing problem but adds support for
  two additional optional parameters being ephemeral_deploy and
  enable_hw_sync on deploy(). For more details please see (1).

  * The code changes align with the SRU policy's "Other safe cases" (2):
  """
  For Long Term Support releases we sometimes want to introduce new features. 
  They must not change the behaviour on existing installations [...]
  If existing software needs to be modified to make use of the new feature,
  it must be demonstrated that these changes are non-intrusive, 
  have a minimal regression potential, and have been tested properly.
  """

  [ Test Plan ]

  * Pre-Requisits: A MAAS controller, an API key as well as a free
  physical machine or VM to perform the deployment tests.

  * Install the current version of python3-libmaas
  (0.6.8-0ubuntu0.22.04.1), then perform a deployment. Validate the
  final results, including the final machine state of Deployed and any
  other tests such as SSH. Release the machine after he validation is
  complete.

  * Install the modified python3-libmaas (0.6.8-0ubuntu0.22.04.2), then
  perform a new deployment. Verify the deployment results, similar to
  the previous step. Release the machine after completion. This step
  ensures there are no regressions as the newly introduced parameters
  are set to False by default.

  * Repeat the deployment while still on modified version. This time
  supply the new additional parameters ephemeral_deploy=True,
  enable_hw_sync=True. Verify the final results and release the machine.
  Please note that since this is an ephemeral deployment, it completes
  very quickly.

  * To help streamlining the test process, a test script has been
  provided and attached to the bug. It requires maas_endpoint as well as
  maas_apikey variables to be filled in the source before being
  utilized. Please note that install_python_libmaas_modified() currently
  installs the modified package from a temporary PPA - That would
  require a modification to install the modified package from the
  proposed pocket and similar.

  * To manually validate an Ephemeral deployment, SSH to the deployed
  machine and issue the following command, while comparing the output
  (Note overlayroot):

  $ mount | grep -w /
  overlayroot on / type overlay (rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_,xino=off)

  * To manually validate the presence of Hardware Sync, issue the
  following command. Note "Finished MAAS Hardware Sync Service" message
  line in the output.

  $ sudo systemctl status maas_hardware_sync

  [ Where problems could occur ]

  * Due to the nature of the change and the additional parameters being optional we are not expecting any adverse effect on existing integration using python-libmaas.
  Nonetheless, theoretical regressions would likely manifest in library calls 
  to deploy a system in MAAS; eg, tracebacks showing deploy() in machines.py.

  (1) https://github.com/canonical/python-libmaas/issues/300
  (2) https://canonical-sru-docs.readthedocs-hosted.com/en/latest/reference/requirements/#other-safe-cases

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-libmaas/+bug/2077382/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list