Ubuntu Pro APT integration is a bit much
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-advantage-tools (Ubuntu) |
In Progress
|
Critical
|
Grant Orndorff |
Bug Description
[Impact]
This bug impacts any LTS system which is not attached to a Pro subscription. Since 27.11.2, they started seeing the Ubuntu Pro beta message in the output of apt upgrade.
This was considered regression from the point of view of users which were relying on that output. Although this is not recommended, it is what was happening there. Other users are just annoyed that the message is there at all.
The mitigation strategy decided with Product Management for this problem is composed of two steps:
1. Move the Ubuntu Pro message to the very bottom of the apt output, and
2. Provide a `pro` command to disable the pro-client related messaging in APT completely.
[Test Case]
There is an integration test which now covers this functionality. A manual test script is also provided for the postinst behavior.
As soon as the package with the fixes lands in -proposed, output for those can be executed using it for verification.
[Regression Potential]
People may argue that the message in the bottom of the output is still regression. For those, running the command to opt-out makes the message disappear. This is the best alternative our team can provide so far.
[Discussion]
It is important to notice that:
- This message is temporary and will disappear as soon as Ubuntu Pro hits GA.
- There is product interest in keeping the message there.
- The command to disable APT messages will stay, so it can be used for any future message that the Pro Client inserts.
- We cannot, for technical reasons, omit the message when the 'quiet' option is provided for apt (-qq, -qqq). For users who want APT to be quiet all times, we recommend using the command to disable the messaging from the pro client. In the future, if the APT hooks let us, we can comply with that functionality.
[Original Description]
When we designed the whole hook mechanism for what was ua esm back in the day, the intent was for this to be an interface to tastefully display information about additional updates you are missing out on without a subscription.
The new Ubuntu Pro message crosses the line of a tasteful additional information and is negatively impacting apt user experience. The top message I saw today on /r/Ubuntu was
https:/
I'd vastly prefer hooks not to use their freedom to display information irrelevant at the specific point. At this hook, the user should be notified about updates, like updates in Ubuntu pro they are missing out on, or I guess pending blocked snap refreshes are valid options.
For messages like the Ubuntu Pro beta announcement, we already have the motd mechanism.
Related branches
- Robie Basak: Approve (ubuntu-sru)
- Paride Legovini (community): Approve
- Canonical Server Reporter: Pending requested
-
Diff: 1047 lines (+302/-105)27 files modifiedapt-hook/20apt-esm-hook.conf (+1/-1)
apt-hook/json-hook.cc (+15/-5)
debian/changelog (+13/-0)
debian/ubuntu-advantage-tools.postinst (+32/-0)
features/api_full_auto_attach.feature (+1/-1)
features/apt_messages.feature (+88/-23)
features/cloud_pro_clone.feature (+0/-1)
features/daemon.feature (+3/-2)
features/docker.feature (+3/-1)
features/environment.py (+4/-4)
features/ubuntu_pro.feature (+3/-0)
features/unattached_commands.feature (+5/-6)
integration-requirements.txt (+1/-1)
uaclient/actions.py (+24/-16)
uaclient/cli.py (+9/-0)
uaclient/config.py (+12/-0)
uaclient/defaults.py (+2/-2)
uaclient/jobs/update_messaging.py (+17/-27)
uaclient/messages.py (+0/-4)
uaclient/system.py (+13/-0)
uaclient/tests/test_actions.py (+36/-1)
uaclient/tests/test_cli_config_set.py (+2/-1)
uaclient/tests/test_cli_config_show.py (+1/-0)
uaclient/tests/test_cli_config_unset.py (+1/-1)
uaclient/tests/test_config.py (+4/-1)
uaclient/tests/test_version.py (+5/-2)
uaclient/version.py (+7/-5)
- Paride Legovini (community): Approve
- Robie Basak: Approve (ubuntu-sru)
-
Diff: 657 lines (+198/-69)23 files modifiedapt-hook/json-hook.cc (+13/-5)
debian/changelog (+12/-0)
debian/ubuntu-advantage-tools.postinst (+23/-0)
features/api_full_auto_attach.feature (+1/-1)
features/apt_messages.feature (+11/-2)
features/cloud_pro_clone.feature (+0/-1)
features/daemon.feature (+3/-2)
features/docker.feature (+3/-1)
features/environment.py (+4/-4)
features/ubuntu_pro.feature (+3/-0)
integration-requirements.txt (+1/-1)
uaclient/actions.py (+24/-16)
uaclient/cli.py (+9/-0)
uaclient/config.py (+12/-0)
uaclient/jobs/update_messaging.py (+21/-27)
uaclient/messages.py (+0/-4)
uaclient/system.py (+13/-0)
uaclient/tests/test_actions.py (+36/-1)
uaclient/tests/test_cli_config_set.py (+2/-1)
uaclient/tests/test_cli_config_show.py (+1/-0)
uaclient/tests/test_cli_config_unset.py (+1/-1)
uaclient/tests/test_config.py (+4/-1)
uaclient/version.py (+1/-1)
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.