motd: can't disable esm-related messages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
update-notifier (Ubuntu) |
Fix Released
|
Undecided
|
Renan Rodrigo | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[ Impact ]
If ESM Infra/Apps is available for a system, users will always see messages related to those Ubuntu Pro services in their MOTDs. As stated in the original description, there have been complaints on how hard it is to disable those messages - we have users who don't want Pro and don't want to be reminded of Pro all the time.
The fix here is making it easier for people to disable the ESM related messages in the update-related MOTD, by giving them a way to opt-out. Users will have the option to create the /var/lib/
This file is the same file used in the Pro Client to suppress those messages.
[ Test Plan ]
Compare the messages before and after installing the new version of the package, and make sure they are exactly the same in different scenarios:
- ESM status: unavailable, disabled, enabled
- LTS system: yes or no
- updates available: yes or no
Thankfully, the unit test suite in tests/test_motd.py covers all of those scenarios functionality-wise. Manual checks on real systems may endorse the functionality.
New tests were added to the suite making sure the flag hides the ESM related messages when it is present.
On real systems, creating the /var/lib/
The execution of the script relies on running one of a couple trigger hooks set in the apt configuration. Running `apt update` will trigger one of them. To make sure messages will be updated, the /var/lib/
[ Where problems could occur ]
- Other software may be relying on the apt-check script to generate human-readable messages. A mistake here could intefere with the message generated, changing expectation on stable releases, or causing errors. To mitigate that, the standard behavior is exactly the same if the marker file is absent, and all existing functionality is preserved.
- Users may make mistakes when creating the marker file. We will mitigate that by having comprehensible documentation with a clear explanation of what the flag does and where to put it. The worst that can happen is that users create a useless file, and no change happens.
[ Other Info ]
As opposed to what was in the original description, the proposed changeset does not separate esm messages from the regular updates messages - this ensures current users and potential callers get exactly the same result when checking their outputs after the change lands.
As suggested in the original description, we understand that it is not the easiest and straightforward approach create a specific file when compared to running a command or clicking a button. However, the messages are there for a product decision, and it is a product decision not to have a "too easy opt-out". On the other hand, users who want to disable this are capable of creating the file, and it will be way easier for them than making the changes in the python script itself - plus the configuration is kept between upgrades.
As noted in a subsequent comment, the patch fixing this bug introduces a new help message. The translations of update-notifier are shipped together with the package. Consulting with @enr0n, the decision about this new entry is:
- For the Noble version, @enr0n will add this new line to the pot file, so it can be translated for the future releases.
- For the SRUs, we will let it be as is. The main two reasons are:
1. there is low value in translating this string to the couple languages we know, and new translations would require a new SRU in the future - except in special cases, there are no translations done in SRUs anyway
2. there is low exposure of the string - it is not in the consumable output of the command, but rather help text for a command that is niched enough - as also noted, we don't expect all users to be applying this.
[ Original Description ]
See https:/
We don't think it needs to be _easy_, but it should probably be less burdensome to disable ESM update notifications in MOTD without disabling all update notifications in MOTD.
One idea to accomplish this is to separate the /etc/update-motd.d/ files into two. One would print the normal update message, and the other would print the ESM message. Then, if an admin knows what they're doing and is willing to accept the risk, they can remove or edit the ESM update-notifier motd conffile. This is similar to how you can remove the APT ESM messages by removing/editing /etc/apt/
This would also require some changes to how the messages are created, since currently it is all in apt_check.py and printed into a single message file. They'll need to be separated somehow.
Related branches
- Nick Rosbrook: Pending requested
-
Diff: 63 lines (+18/-17)2 files modifieddata/update-motd-updates-available (+12/-17)
debian/changelog (+6/-0)
- Nick Rosbrook: Pending requested
-
Diff: 63 lines (+18/-17)2 files modifieddata/update-motd-updates-available (+12/-17)
debian/changelog (+6/-0)
- Nick Rosbrook: Pending requested
-
Diff: 63 lines (+18/-17)2 files modifieddata/update-motd-updates-available (+12/-17)
debian/changelog (+6/-0)
- Nick Rosbrook: Pending requested
-
Diff: 63 lines (+18/-17)2 files modifieddata/update-motd-updates-available (+12/-17)
debian/changelog (+6/-0)
- Nick Rosbrook: Approve
-
Diff: 63 lines (+18/-17)2 files modifieddata/update-motd-updates-available (+12/-17)
debian/changelog (+6/-0)
Changed in update-notifier (Ubuntu): | |
assignee: | nobody → Renan Rodrigo (renanrodrigo) |
Changed in update-notifier (Ubuntu): | |
status: | Confirmed → In Progress |
description: | updated |
summary: |
- motd: esm and normal update messages are intertwined + motd: can't disable esm-related messages |
Changed in update-notifier (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in update-notifier (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Focal): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Jammy): | |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in update-notifier (Ubuntu): | |
status: | Fix Released → In Progress |
Changed in update-notifier (Ubuntu Xenial): | |
status: | Fix Committed → In Progress |
Changed in update-notifier (Ubuntu Bionic): | |
status: | Fix Committed → In Progress |
Changed in update-notifier (Ubuntu Focal): | |
status: | Fix Committed → In Progress |
Changed in update-notifier (Ubuntu Jammy): | |
status: | Fix Committed → In Progress |
Status changed to 'Confirmed' because the bug affects multiple users.