Public bug reported:
[Impact]
This release sports both bug-fixes and new features and we would like to make
sure all of our supported customers have access to these improvements. The
notable ones are:
* A daemon that only runs on GCP
* Currently it ends early based on a default config setting - making it
hardly a deamon. But this config setting will be flipped on as soon
as it's needed via a follow up SRU, so please review as if the daemon
was long-running.
* When it turns on, it will long-poll the GCP metadata endpoint and run
`ua auto-attach` when a pro license is added.
* This replaces the 5 minute timer we currently have on GCP.
* A part of this is a shim service only on xenial to replace a needed
feature from cloud-init, that is not backported to xenial.
* Contract renewal UX improvements
* `ua status` now notifies you when your contract is updated (e.g.
renewed), and instructs the user to run `ua refresh`. (Note this
isn't technically required for renewal - services will keep working
for a renewed contract regardless.)
* `ua refresh` now ensures motd/apt messaging is all up to date in
addition to updating contract details.
* In combination, these two features address user concerns over
confusing/outdated motd/apt messaging shortly after contract renewal.
* More granular APT Proxy configuration with backwards compatibility
* apt_http(s)_proxy is renamed to global_apt_http(s)_proxy (but the old
name still works)
* ua_apt_http(s)_proxy is introduced for ua-scoped apt proxy
configurations
* `ua security-status` now includes counts of packages from each archive
component
See the changelog entry below for a full list of changes and bugs.
[Test Case]
The following development and SRU process was followed:
[https://wiki.ubuntu.com/UbuntuAdvantageToolsUpdates](https://wiki.ubuntu.com/UbuntuAdvantageToolsUpdates)
The ubuntu-advantage-tools team will be in charge of attaching the
artifacts and console output of the appropriate run to the bug. ubuntu-
advantage-tools team members will not mark ‘verification-done’ until
this has happened.
[Regression Potential]
This is a big update, with several refactors touching many pieces of the
codebase. It is possible that some behavior changed in subtle ways not captured
by our integration tests.
There are also several small refactors and additions to the postinst
script. Any adjustment to postinst poses the risk of breaking upgrades
if a mistake was made.
We already dropped support for trusty, but we removed even more trusty
related code in this release. It is possible that we were unknowingly
relying on some of this trusty code for subtle behavior.
We included backwards compatibility for the proxy configuration changes,
but it is possible that if we made a mistake then old configurations
will stop working correctly.
[Discussion]
There were a series of discussions about the daemon and it was decided
to limit the scope as much as possible. As such, it only runs on GCP on
unattached instances. Python won't even be instantiated on other
machines. The daemon checks several conditions on start up as well and
ends early if any don't match.
There was some effort to keep the memory footprint from being too high.
It depends on the python version; on xenial systemd says the daemon
takes just under 14Mb and on focal, just under 11Mb. We have regression
tests in place to keep on eye on memory usage. When the daemon is
running, it will almost always be blocked on a long-poll endpoint, so
CPU usage should be minimal.
The daemon does run as root, but doesn't listen on a socket or accept on
any user input. It looks at root-only config files and talks to a
particular GCP metadata endpoint. If a user were to maliciously MITM the
metadata endpoint, they could provide data to the daemon that would
cause it to send requests to the Contract Server unnecessarily.
[Changelog]
Coming soon...
** Affects: ubuntu-advantage-tools (Ubuntu)
Importance: Undecided
Status: New
** Description changed:
- [Impact]
+ [Impact]
This release sports both bug-fixes and new features and we would like to make
sure all of our supported customers have access to these improvements. The
notable ones are:
* A daemon that only runs on GCP
- * Currently it ends early based on a default config setting - making it
hardly a deamon. But this config setting will be flipped on as soon as it's
needed via a follow up SRU, so please review as if the daemon was long-running.
- * When it turns on, it will long-poll the GCP metadata endpoint and run
`ua auto-attach` when a pro license is added.
- * This replaces the 5 minute timer we currently have on GCP.
- * A part of this is a shim service only on xenial to replace a needed
feature from cloud-init, that is not backported to xenial.
- * Contract renewal UX improvements
- * `ua status` now notifies you when your contract is updated (e.g.
renewed), and instructs the user to run `ua refresh`. (Note this isn't
technically required for renewal - services will keep working regardless.)
- * `ua refresh` now ensures motd/apt messaging is all up to date in
addition to updating contract details.
- * In combination, these two features address user concerns over
confusing/outdated motd/apt messaging shortly after contract renewal.
- * More granular APT Proxy configuration with backwards compatibility
- * apt_http(s)_proxy is renamed to global_apt_http(s)_proxy (but the old
name still works)
- * ua_apt_http(s)_proxy is introduced for ua-scoped apt proxy
configurations
- * `ua security-status` now includes counts of packages from each archive
component
+ * Currently it ends early based on a default config setting - making it
+ hardly a deamon. But this config setting will be flipped on as soon
+ as it's needed via a follow up SRU, so please review as if the daemon
+ was long-running.
+ * When it turns on, it will long-poll the GCP metadata endpoint and run
+ `ua auto-attach` when a pro license is added.
+ * This replaces the 5 minute timer we currently have on GCP.
+ * A part of this is a shim service only on xenial to replace a needed
+ feature from cloud-init, that is not backported to xenial.
+ * Contract renewal UX improvements
+ * `ua status` now notifies you when your contract is updated (e.g.
+ renewed), and instructs the user to run `ua refresh`. (Note this
+ isn't technically required for renewal - services will keep working
+ for a renewed contract regardless.)
+ * `ua refresh` now ensures motd/apt messaging is all up to date in
+ addition to updating contract details.
+ * In combination, these two features address user concerns over
+ confusing/outdated motd/apt messaging shortly after contract renewal.
+ * More granular APT Proxy configuration with backwards compatibility
+ * apt_http(s)_proxy is renamed to global_apt_http(s)_proxy (but the old
+ name still works)
+ * ua_apt_http(s)_proxy is introduced for ua-scoped apt proxy
+ configurations
+ * `ua security-status` now includes counts of packages from each archive
+ component
See the changelog entry below for a full list of changes and bugs.
- [Test Case]
- The following development and SRU process was followed:
+ [Test Case]
+ The following development and SRU process was followed:
[https://wiki.ubuntu.com/UbuntuAdvantageToolsUpdates](https://wiki.ubuntu.com/UbuntuAdvantageToolsUpdates)
The ubuntu-advantage-tools team will be in charge of attaching the
artifacts and console output of the appropriate run to the bug. ubuntu-
advantage-tools team members will not mark ‘verification-done’ until
this has happened.
- [Regression Potential]
+ [Regression Potential]
This is a big update, with several refactors touching many pieces of the
codebase. It is possible that some behavior changed in subtle ways not captured
by our integration tests.
There are also several small refactors and additions to the postinst
script. Any adjustment to postinst poses the risk of breaking upgrades
if a mistake was made.
We already dropped support for trusty, but we removed even more trusty
related code in this release. It is possible that we were unknowingly
relying on some of this trusty code for subtle behavior.
We included backwards compatibility for the proxy configuration changes,
but it is possible that if we made a mistake then old configurations
will stop working correctly.
[Discussion]
There were a series of discussions about the daemon and it was decided
to limit the scope as much as possible. As such, it only runs on GCP on
unattached instances. Python won't even be instantiated on other
machines. The daemon checks several conditions on start up as well and
ends early if any don't match.
There was some effort to keep the memory footprint from being too high.
It depends on the python version; on xenial systemd says the daemon
takes just under 14Mb and on focal, just under 11Mb. We have regression
tests in place to keep on eye on memory usage. When the daemon is
running, it will almost always be blocked on a long-poll endpoint, so
CPU usage should be minimal.
The daemon does run as root, but doesn't listen on a socket or accept on
any user input. It looks at root-only config files and talks to a
particular GCP metadata endpoint. If a user were to maliciously MITM the
metadata endpoint, they could provide data to the daemon that would
cause it to send requests to the Contract Server unnecessarily.
[Changelog]
Coming soon...
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1973099
Title:
[SRU] ubuntu-advantage-tools (27.8 -> 27.9) Xenial, Bionic, Focal,
Impish, Jammy
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-advantage-tools/+bug/1973099/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs