Include cloud-id in user-agent string
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
base-files (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Andreas Hasenack | ||
Bionic |
Fix Released
|
Undecided
|
Andreas Hasenack | ||
Disco |
Fix Released
|
Undecided
|
Andreas Hasenack |
Bug Description
[Impact]
We would like to include a cloud_id/$name parameter to the user-agent string that is sent to https:/
[Test Case]
a) confirm that the motd message is still displayed:
$ sudo sh /etc/update-
* Kata Containers are now fully integrated in Charmed Kubernetes 1.16!
Yes, charms take the Krazy out of K8s Kata Kluster Konstruction.
https:/
b) confirm that cloud_id is set in the user-agent. This should be tested in lxd, gce, aws, and azure. Here is an example for lxd:
$ sudo sh -x /etc/update-
+ curl --connect-timeout 60 --max-time 60 -A curl/7.
For each of the mentioned clouds, we expect cloud_id to be set to their short names: aws, gce, azure.
For xenial, there is an extra test case:
c) list the timers to confirm motd-news is active, and will run sometime in the next 12h following the installation of the updated package:
$ systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2019-09-30 19:38:55 UTC 6h left n/a n/a motd-news.timer motd-news.service
Mon 2019-09-30 22:45:13 UTC 9h left n/a n/a apt-daily.timer apt-daily.service
Tue 2019-10-01 06:12:11 UTC 16h left n/a n/a apt-daily-
Tue 2019-10-01 13:11:41 UTC 23h left Mon 2019-09-30 13:11:41 UTC 14min ago systemd-
[Regression Potential]
This change adds a new parameter to the already existing user-agent string. This relies on the cloud-id tool from cloud-init. Even though it's considered trusted to some degree, it may be possible for some clouds to override their name in the data fed to cloud-init, which is what cloud-id parses. Therefore some precautions were taken when handling its contents:
- set value to unknown if cloud-id fails, doesn't exist, or produce an empty value
- sanitize the output of cloud-id, and truncate it to a maximum length
- use a tempfile to store the intermediate output of cloud-id instead of a shell variable. One reason being avoiding storing a potentially large amount of data in a shell variable, and the other is to avoid mistakes when manipulating a shell variable that could contain shell metacharacters.
[Other Info]
For xenial, this is also finishing the fix for bug #1637800 which was stuck in the SRU queue due to it failing checks. Since the xenial package isn't using debhelper, manual dh snippets were added to the maintainer scripts, but they missed the dh_systemd_enable chunks. I'm also skipping starting motd-news.service, since the timer unit will handle that. This avoids an annoying error message about trying to start a unit that is not enabled.
[Original Description]
I'm preemptively filing this bug in case this isn't uploaded before the feature freeze.
We would like to include a cloud_id/$name parameter to the user-agent string that is sent to https:/
There is an MP for this already at https:/
Related branches
- Bryce Harrington (community): Approve
- Canonical Server Core Reviewers: Pending requested
-
Diff: 62 lines (+22/-3)2 files modifieddebian/changelog (+7/-0)
update-motd.d/50-motd-news (+15/-3)
- Bryce Harrington (community): Approve
- Canonical Server Core Reviewers: Pending requested
-
Diff: 62 lines (+22/-3)2 files modifieddebian/changelog (+7/-0)
update-motd.d/50-motd-news (+15/-3)
- Bryce Harrington (community): Approve
- Steve Langasek (community): Approve
- Rafael David Tinoco (community): Needs Information
- Canonical Server: Pending requested
- Canonical Server: Pending requested
-
Diff: 122 lines (+54/-8)4 files modifieddebian/changelog (+12/-0)
debian/postinst.in (+14/-3)
debian/postrm (+13/-2)
debian/update-motd.d/50-motd-news (+15/-3)
- Steve Langasek (community): Approve
- Canonical Server Core Reviewers: Pending requested
- Canonical Server: Pending requested
-
Diff: 38 lines (+12/-1)2 files modifieddebian/changelog (+6/-0)
motd/50-motd-news (+6/-1)
description: | updated |
description: | updated |
Changed in base-files (Ubuntu Xenial): | |
assignee: | nobody → Andreas Hasenack (ahasenack) |
Changed in base-files (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in base-files (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in base-files (Ubuntu Disco): | |
status: | New → In Progress |
assignee: | nobody → Andreas Hasenack (ahasenack) |
Changed in base-files (Ubuntu Bionic): | |
assignee: | nobody → Andreas Hasenack (ahasenack) |
description: | updated |
description: | updated |
summary: |
- [FFe] include cloud-id in user-agent string + Include cloud-id in user-agent string |
description: | updated |
description: | updated |
description: | updated |
This bug was fixed in the package base-files - 10.2ubuntu5
---------------
base-files (10.2ubuntu5) eoan; urgency=medium
* motd/50-motd-news: add cloud_id to user-agent string (LP: #1840946)
-- Andreas Hasenack <email address hidden> Thu, 15 Aug 2019 14:57:39 -0300