-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wip: Fix cloudinit systemd deadlock #2927
Conversation
We're renaming the following packages using transitional packages to align the package names with the product naming: * ubuntu-advantage-tools -> ubuntu-pro-client * ubuntu-advantage-pro -> ubuntu-pro-image-auto-attach Because old versions of ubuntu-advantage-tools will break ESM upon removal, and ubuntu-pro-client "Breaks" ubuntu-advantage-tools <<31~, we need to force existing instances to upgrade to ubuntu-advantage-tools 31 (the transitional package) in order to install the new ubuntu-pro-client package. Enforcing that is accomplished via a Depends: ubuntu-advantage-tools on existing Ubuntu releases. Future Ubuntu releases (Noble onward) will not have this Depends. Because of that, all previous package migrations (from versions older than 31) are left in ubuntu-advantage-tools.{preinst,postinst,postrm}. All future package migrations will happen in ubuntu-pro-client.{preinst,postinst,postrm}.
By removing "Provides: ubuntu-advantage-tools", we lower the chances of ubuntu-advantage-tools <31 being removed during an install of ubuntu-pro-client, becuase ubuntu-minimal (and ubuntu-cloud-minimal) Depend on ubuntu-advantage-tools. This removes the need for ubuntu-pro-client Depends: ubuntu-advantage-tools.
Add integration test that install the ubuntu-advantage-tools transition package and checks that it also install the new ubuntu-pro-client package. We are also performing the same check for the ubuntu-advantage-pro package
🌎 This PR changes translatable messages. 🌏 Please select which scenarios apply. For further explanation, please read our policy on message changes.
|
Jira: This PR is not related to a Jira item. (The PR title does not include a SC-#### reference) GitHub Issues: No GitHub issues are fixed by this PR. (No commits have Fixes: #### references) Launchpad Bugs: No Launchpad bugs are fixed by this PR. (No commits have LP: #### references) Documentation: The changes in this PR do not require documentation changes. 👍 this comment to confirm that this is correct. |
5422549
to
60a56f2
Compare
ubuntu-advantage.service is "After: cloud-config.service". --no-block ensures that it doesn't cause deadlock when cloud-init tries to install ubuntu-advantage-tools. This is accomplished by no longer using dh_systemd_start, but taking the snippets it used to add to maintscripts and hardcoding them. Then I added --no-block to the "start" command. I took the latest version of the dh_systemd_start snippets for prerm, postrm, and postinst. Those snippets are slightly different from those automatically added on older releases, namely xenial and bionic. The primary differences are: (1) the addition of checks to only run the snippets on appropriate dpkg operations by checking $1, and (2) checking that DPKG_ROOT is empty in addition to the presence of /run/systemd/system before running systemctl commands.
60a56f2
to
0bdfe19
Compare
closing in favor of #2937 |
currently based on #2887 so only look at the last commit(s?)
ppa:orndorffgrant/proclient-cloudinit-deadlock-test
LP: #2050022
Why is this needed?
This PR solves all of our problems because...
Test Steps
Checklist
Does this PR require extra reviews?