Possible stray package in pulpcore 3.16 el8 repo?

Problem: An update seemingly caused unexpected download and CV publish failures

Expected outcome: Content donwload and publish continued

Foreman and Proxy versions: 3.1.1

Foreman and Proxy plugin versions: pulpcore 3.16

Distribution and version: CentOS 8 Stream current

Other relevant data:
http://yum.theforeman.org/pulpcore/3.16/el8/x86_64/python38-pulp-rpm-3.17.3-2.el8.noarch.rpm

Has shown up in the pulpcore 3.16 repo. Is this inadvertent? I experienced a number of problems with content update tasks including missing column errors, which would be consistent with a mismatched version - I downgraded to the 3.16 version and these problems went away.

pulp_rpm 3.17.3 is compatible with pulpcore>=3.16.0,<3.20, so there is nothing inherently wrong with it “appearing” in the pulpcore 3.16 repo. However, if you upgrade to it, I expect you then need to apply any new migrations using pulpcore-manager migrate. Not doing this (for example by running only yum update) would cause the kind of errors you describe.

Another question I don’t know the answer to, is whether Katello has the right Ruby bindings gem to speak to this new version of pulp_rpm. Perhaps someone else can weigh in on this?

1 Like

Thanks for the info! Just for fun, I did the upgrade and attempted the migration (which succeeded).

Initially on running sync I saw some errors like this (on my C8s-AppStream, BaseOS, and PowerTools repos):

null value in column "digest" violates not-null constraint
DETAIL:  Failing row contains (03da6e6f-a175-44b0-a06a-803b61a920f9, 1.2, CentOS Stream, CentOS-Stream, 8, f, null, null, null, x86_64, 1646080380, null, null, null, null, null).

All my other repos (Fedora 35, RPMfusion, Docker, PGDG) completed successfully.

I rebooted my Foreman/Katello server and re-ran sync and these issues disappeared; all repos have since successfully synced.

Thanks again!

I spoke to some more people and received the following additional information:

  • One should never update any Foreman/Katello/Pulp packages on a Katello installation, without also running the foreman-installer (which will run pulpcore-manager migrate amongst other things).
  • If a new Pulp plugin version is available, then that plugin version has been tested against the Ruby bindings used by Katello, so this should never be an issue.