Skip to content
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

Release 31 #2913

Merged
merged 149 commits into from
Feb 26, 2024
Merged

Release 31 #2913

merged 149 commits into from
Feb 26, 2024

Conversation

orndorffgrant
Copy link
Collaborator

@orndorffgrant orndorffgrant commented Jan 9, 2024

Release 31

The goal is to do all of the review on github this time. Please let me know if you're missing anything here.

This is ready to start reviewing but their are some things left to do before it is fully ready.

Interesting things to note

orndorffgrant and others added 12 commits January 8, 2024 15:34
If the canonical-livepatch status command fails, we can mistakenly
tell the users that Livepatch is disabled. This is an incorrect
behavior as we should alert the users about the error. We are now
reflecting that went wrong with the command on the output
of pro status.

LP: #2019997
When running collect-logs as non-root, we might fail
trying to collect the jobs-status information. Since there
is no private date in this file, we are making it world readable
now.

Fixes: #2601
The bug was fixed in mypy version 1.7
@orndorffgrant orndorffgrant self-assigned this Jan 9, 2024
@orndorffgrant orndorffgrant force-pushed the release-31 branch 3 times, most recently from 93bb88d to 20c8a4b Compare January 9, 2024 20:06
orndorffgrant and others added 8 commits January 9, 2024 15:08
This extends the "behave-any" refactor to all integration tests. That means any combination of tests, regardless of the cloud/platform they run on, can be run with one command.  This allows consolidation of some tests since tests can now be parametrized by machine_type.

There is still the capability to run the tests in a per release, per platform matrix via the run-integration-tests.py script. However, after this refactor we don't have to split the tests up that way.
Some brazilian portuguese translations are marked as fuzzy.
We are removing the tag from the ones we believe are correct
It involves enabling FIPS, which is not in 22.04 yet.

Signed-off-by: Renan Rodrigo <[email protected]>
Signed-off-by: Renan Rodrigo <[email protected]>
@orndorffgrant
Copy link
Collaborator Author

I added cb35b90 and 9f8ff9c to fix the livepatch regex check and spinlock naming, respectively.

orndorffgrant and others added 16 commits February 7, 2024 09:28
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
The redaction filter was not correctly applied to our current logs.
We are now fixing this by adding the redaction filter directly in
the log file handler
When cloud-init gets "ubuntu_advantage" user-data, it may need to
install or upgrade ubuntu-advantage-tools. This happens during
cloud-config.service. The install/upgrade of ubuntu-advantage-tools
triggers a "systemctl start ubuntu-advantage.service".
ubuntu-advantage.service is configured with an
"After=cloud-config.service", so it waits to start until
cloud-config.service becomes "active". In this scenario,
cloud-config.service cannot continue until ubuntu-advantage.service
starts, creating deadlock.

We get around this deadlock by removing the "After=cloud-config.service"
from ubuntu-advantage.service. Instead we are moving the ordering dependency
enforcement into the python code called by the service. This allows
systemd to go ahead and start the service allowing the install of
ubuntu-advantage-tools to finish and cloud-init to continue.
ubuntu-advantage.service will wait until cloud-config.service is
"active" to actually do anything.

LP: #2050022
@orndorffgrant
Copy link
Collaborator Author

Hello @paride and @basak! This is now officially ready.

I've added the commits from the binary-package-rename branch that was reviewed separately. Those are commits d39a017 through 5f44b02. Feel free to re-review them to ensure they are the same as what you reviewed (I just cherry-picked them on to this branch).

There are a couple additional commits we needed to include in this release added at the end as well. In particular, 26ecd2c is worth taking a look at.

When you are both happy, then I believe @paride can go ahead and upload :)

@orndorffgrant orndorffgrant marked this pull request as ready for review February 12, 2024 16:29
@orndorffgrant
Copy link
Collaborator Author

I'm noticing some tests are red. I'll triage them before we upload to ensure they are just flakes, or fix them if needed.

@paride
Copy link
Contributor

paride commented Feb 13, 2024

26ecd2c LGTM, and we're all green with the tests it seems, I think we're ready with this!

(The cherry-picks are also as expected.)

@orndorffgrant
Copy link
Collaborator Author

Great! Thank you @paride!

I've run a large set of our behave tests against a build in our staging ppa and found one bug where livepatch was failing to install when snapd was not up to date. I've added a fix in ae56423. The other new commit is small updates to outdated tests and don't affect functionality.

Now we are ready for sponsor/upload :)

This message is a detail of the stdlib and could change and it doesn't
matter to us. The important thing that this test is testing is that
base.UAEntitlement cannot be instantiated itself and will raise a
TypeError.
@orndorffgrant orndorffgrant merged commit 10b430f into release Feb 26, 2024
14 of 17 checks passed
@orndorffgrant orndorffgrant deleted the release-31 branch February 26, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants