** 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
