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

Opt-out of Phased Updates in apt. #667

Merged
merged 2 commits into from
Jun 8, 2022
Merged

Conversation

nuclearsandwich
Copy link
Member

Docker containers are built using a succession of images, each of of which is created by running an intermediate container and saving the result.

These individual containers can end up with different information that puts them in different "phases" of the apt phased update rollout.

When combined with a phased update for a set of binary packages that all rely on matching versions, it can create an unsatisfiable condition where an earlier binary from the source package was installed in the "ahead" phase and a later package is installed "behind".

Phased updates only became supported in apt 2.1.16 released in Ubuntu 21.04 so this was not an issue for us prior to Ubuntu 22.04.

Docker containers are built using a succession of images, each of of
which is created by running an intermediate container and saving the
result.

These individual containers can end up with different information that
puts them in different "phases" of the apt phased update rollout.

When combined with a phased update for a set of binary packages that all
rely on matching versions, it can create an unsatisfiable condition
where an earlier binary from the source package was installed in the
"ahead" phase and a later package is installed "behind".

Phased updates only became supported in apt 2.1.16 released in Ubuntu
21.04 so this was not an issue for us prior to Ubuntu Jammy.
@nuclearsandwich nuclearsandwich self-assigned this Jun 8, 2022
@nuclearsandwich
Copy link
Member Author

🐧 Build Status
🐧 🦾 Build Status

@nuclearsandwich
Copy link
Member Author

I haven't gone back to find the record yet but were apt installation issues on ARM hosts earlier which we thought at the time were problems with apt mirror synchronization but may actually have been an earlier less egregious version of this problem.

@nuclearsandwich
Copy link
Member Author

penguin Build Status
penguin mechanical_arm Build Status

These results (50:50) are not encouraging since any time we bust the docker cache we have a chance of landing all "behind" or all "ahead" and being able to build.

So something about this change is insufficient and I kept "getting lucky" when testing it locally.

@nuclearsandwich
Copy link
Member Author

nuclearsandwich commented Jun 8, 2022

🐧 Build Status
🐧 🦾 Build Status

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.

2 participants