Katello Pulp3 Ubuntu Repository is Broken no size information

Problem:
After upgrading to the latest releases and migrating the Ubuntu repositories from Pulp2 to Pulp3, some packages are reporting no size information. I re-synched the repos and updated the Content. I get this when I try to do an upgrade on an Ubuntu 20.04 client:

sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  distro-info libevdev2 libimobiledevice6 libplist3 libupower-glib3 libusbmuxd6 upower usbmuxd
The following packages will be upgraded:
  thermald ubuntu-advantage-tools
2 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
After this operation, 4,541 kB of additional disk space will be used.
W: Repository is broken: distro-info:amd64 (= 0.23ubuntu1) has no Size information
W: Repository is broken: ubuntu-advantage-tools:amd64 (= 27.2.1~20.04.1) has no Size information
W: Repository is broken: libplist3:amd64 (= 2.1.0-4build2) has no Size information
W: Repository is broken: libusbmuxd6:amd64 (= 2.0.1-2) has no Size information
W: Repository is broken: libimobiledevice6:amd64 (= 1.2.1~git20191129.9f79242-1build1) has no Size information
W: Repository is broken: libupower-glib3:amd64 (= 0.99.11-1build2) has no Size information
W: Repository is broken: libevdev2:amd64 (= 1.9.0+dfsg-1ubuntu0.1) has no Size information
W: Repository is broken: thermald:amd64 (= 1.9.1-1ubuntu0.4) has no Size information
W: Repository is broken: upower:amd64 (= 0.99.11-1build2) has no Size information
W: Repository is broken: usbmuxd:amd64 (= 1.1.1~git20191130.9af2b12-1) has no Size information


sudo apt info distro-info:amd64
Package: distro-info
Version: 0.23ubuntu1
Priority: optional
Section: devel
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Benjamin Drung <bdrung@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 69.6 kB
Depends: distro-info-data (>= 0.39ubuntu1), libc6 (>= 2.7)
Suggests: shunit2 (>= 2.1.6)
Breaks: ubuntu-dev-tools (<< 0.133~)
Replaces: ubuntu-dev-tools (<< 0.127~)
Download-Size: unknown
APT-Sources: katello://hq-1pforeman.internal.ieeeglobalspec.com/pulp/deb/Default_Organization/DevPortal/Ubuntu_20_04_Compsite/custom/Ubuntu_20_04/focal default/all amd64 Packages
Description: provides information about the distributions' releases

Expected outcome:
No errors

Foreman and Proxy versions:
Foreman v2.5.2
Proxy v2.5.2

Foreman and Proxy plugin versions:

  • katello-4.1.1-1.el7.noarch
  • katello-certs-tools-2.7.3-1.el7.noarch
  • katello-client-bootstrap-1.7.6-1.el7.noarch
  • katello-common-4.1.1-1.el7.noarch
  • katello-debug-4.1.1-1.el7.noarch
  • katello-default-ca-1.0-1.noarch
  • katello-repos-4.1.1-1.el7.noarch
  • katello-selinux-4.0.0-1.el7.noarch
  • katello-server-ca-1.0-1.noarch
  • pulp-client-1.0-1.noarch
  • pulpcore-selinux-1.2.4-1.el7.x86_64

Distribution and version:
CentOS 7

This has recently been fixed in pulp_deb:

https://pulp.plan.io/issues/8506

Additional Info: It has been fixed in the most recent release of pulp_deb, but it has not yet been back-ported to a version present in Katello, and there have been some reports of problems installing the new version with the latest release of pulpcore. I will try to remember to post an update if I have anything new.

1 Like

You can work around the issue by disabling http pipelining. apt -oAcquire::http::Pipeline-Depth=0 install ... or setting the option in /etc/apt.

Before the issue would manifest as invalid checksum under certain condition, but now apt includes a clear warning, or error. More details Bug #32178: deb repo - apt install - File has unexpected size - http pipeline - Katello - Foreman

This feels like a different issue. Even disabling the pipelining, I still get the issue on my clients. The bug you point to shows unexpected size, this is NO SIZE.

W: Repository is broken: distro-info:amd64 (= 0.23ubuntu1) has no Size information
W: Repository is broken: ubuntu-advantage-tools:amd64 (= 27.2.1~20.04.1) has no Size information
W: Repository is broken: libplist3:amd64 (= 2.1.0-4build2) has no Size information
W: Repository is broken: libusbmuxd6:amd64 (= 2.0.1-2) has no Size information
W: Repository is broken: libimobiledevice6:amd64 (= 1.2.1~git20191129.9f79242-1build1) has no Size information
W: Repository is broken: libupower-glib3:amd64 (= 0.99.11-1build2) has no Size information
W: Repository is broken: libevdev2:amd64 (= 1.9.0+dfsg-1ubuntu0.1) has no Size information
W: Repository is broken: thermald:amd64 (= 1.9.1-1ubuntu0.4) has no Size information
W: Repository is broken: upower:amd64 (= 0.99.11-1build2) has no Size information
W: Repository is broken: usbmuxd:amd64 (= 1.1.1~git20191130.9af2b12-1) has no Size information

It is the same issue (perhaps different manifestations). The pulp_deb implementation without the fix does not publish the required Size field in package indices it generates at all. The solution is to wait for the fix.

I suspect a newer version of Ubuntu has become more strict/explicit about demanding the Size field. We have always had this bug in the Pulp 3 version of pulp_deb, but recently lots of users have “suddenly” noticed.

No, it’s the same issue. I’m stupid. The workaround alone would no longer work now that warnings/errors have been implemented in apt. Try apt -oAcquire::AllowUnsizedPackages=1 -oAcquire::http::Pipeline-Depth=0 install ...

It’s mostly just a visual issue for anyone trying to install packages. The install works fine otherwise.

I have now released pulp_deb 2.14.1 which handles the Size field properly: pulp_deb 2.14.1 is generally available · Discussion #71 · pulp/community · GitHub

I still need to back-port the fix to older Y-releases and get them added to Katello though.

1 Like

Once this PR is merged, the Fix should become available for users of Katello 4.1.1 and higher.