** Description changed:

  [ 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.
+ * 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

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

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

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


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to