[SRU] ubuntu-advantage-tools (31 -> 32) Xenial, Bionic, Focal, Jammy, Mantic

Bug #2060732 reported by Lucas Albuquerque Medeiros de Moura
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-advantage-tools (Ubuntu)
New
Undecided
Unassigned

Bug Description

[ Impact ]

This release brings both bug-fixes and new features for the Pro Client, and we would like to make sure all of our supported customers have access to these improvements on all releases.

The most important changes are:
 - d/apparmor:introduce new ubuntu_pro_esm_cache apparmor policy
 - api:
   + u.pro.attac.token.full_token_attach.v1: add suppport for attach with token
   + u.pro.services.disable.v1: add support for disable operation
   + u.pro.services.enable.v1: add support for enable operation
   + u.pro.detach.v1: add support for detach operation
   + u.pro.status.is_attached.v1: add extra fields to API response
   + u.pro.services.dependencies.v1: add support for service dependencies
   + u.pro.security.fix.*.plan.v1: update ESM cache during plan API if needed
 - config: create public and private config (GH: #2809)
 - messaging: add consistent messaging for end-of-contract

See the changelog entry below for a full list of changes and bugs.

[ Test Plan ]

The following development and SRU process was followed:
https://wiki.ubuntu.com/UbuntuAdvantageToolsUpdates

The Pro Client developers will be in charge of attaching the artifacts of the appropriate test runs to the bug, and will not mark ‘verification-done’ until this has happened.

Additionally, we will perform manual tests for the public/private config feature that will be better discussed in the next section

[ Discussion]

This release will be introducing a split on our config for public and private information. This is to be explicit in the behavior a non-root and root user will see when running pro config show. For example,
we believe that a non-root user should not see proxy data in pro config show. This information is now stored in a private config file.

We need a mechanism to ensure that old versions of the Pro client would also get that split. To do that, we have created a script to run on postinst to adapt the existing pro config into this new setting.

However, we have recently introduced the new ubuntu-pro-client package. That means that we cannot know beforehand from which package the user would be upgrading from, ubuntu-advantage-tools or ubuntu-pro-client.

If the system already has ubuntu-pro-client and is upgrading to a new version of ubuntu-pro-client, that means all migrations present in ubuntu-advantage-tools.postinst must have already run at the time the system upgraded to the renamed ubuntu-pro-client. That mean this config migration should happen on ubuntu-pro-client.postinst

If upgrading from before the rename to the current version (from before version 31), then not necessarily all migrations inside of ubuntu-advantage-tools.postinst will have already run. Because the migrations present in this file may depend on those previous migrations, then we need to make the migration on ubuntu-advantage-tools.postinst

That is because there might be users running an old version of ubuntu-advantage-tools that have not yet upgraded to version 27.14. This version is the one that introduces the /var/lib/ubuntu-advantage/user-config.json. Therefore, we need to ensure to this migration happens first, before our public/private migration.

Because of that, we are coordinating which postinst script will execute the migration. A more detailed explanation of this logic can be found on the script itself, lib/postinst-migrations.sh

[ Changelog ]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.