pulp / pulp/pulp_deb

Add publication options for packages with Phased-Update-Percentage

Open
#716 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.feature
Dominant language
Python
Stars
71
Forks
91
Avg merge
1d 19h
Merged PRs (30d)
22

Description

This weekend I came across https://utcc.utoronto.ca/~cks/space/blog/linux/Ubuntu2204ServerPhasedUpdates which goes into details about Ubuntu's phased updates system. Turns out support of it was added to apt in Ubuntu 22.04. That means is that if you have a fleet of machines they will end up with different version of the package. Naturally, I started wondering whether this affects katello and content views, and I think it does.

# curl -sS https://foreman.example.com/pulp/content/MyOrg/Library/custom/Ubuntu/focal-updates/dists/focal-updates/main/binary-amd64/Packages | grep -c 'Phased-Update-Percentage'
168

I don't have jammy synced, but the metadata seems to be there. I haven't actually tested that you get different versions of the package on different system on jammy, but I could.

The question is should pulp_deb so something about this? or not? Perhaps, as it seems to break the idea of content views.

It seems right now the only way to control this behaviour is via apt configuration options.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by tracing how pulp_deb publishes Ubuntu package metadata and how content views expose it, then compare that behavior with apt's Phased-Update-Percentage handling; define the desired publication options and a reproducible jammy case before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.