Katello 3.18.1 Content Migration to Pulp 3 fails with "No declared artifact" message


Content migration to Pulp 3 using foreman-maintain content prepare fails with the following error message:

ForemanTasks::TaskError: Task 5dfd06d7-4d68-4977-8b2f-63445abc8e25: Katello::Errors::Pulp3Error: No declared artifact with relative path "images/boot.iso" for content "<DistributionTree: pk=6995fa03-af4e-4f86-b324-a9888309a5e7>"

The corresponding entry in Pulp 3’s PostgreSQL database (table rpm_distributiontree) looks like this:

pulpcore=# select * from rpm_distributiontree where content_ptr_id='6995fa03-af4e-4f86-b324-a9888309a5e7';
-[ RECORD 1 ]--------+-------------------------------------
content_ptr_id       | 6995fa03-af4e-4f86-b324-a9888309a5e7
header_version       | 1.2
release_name         | CentOS Linux
release_short        | CentOS
release_version      | 8
release_is_layered   | f
base_product_name    |
base_product_short   |
base_product_version |
arch                 | x86_64
build_timestamp      | 0
instimage            |
mainimage            | images/install.img
discnum              |
totaldiscs           |

I am not sure what to make of this. My synchronized CentOS 8 repository os seems to include an images/boot.iso file.

Expected outcome:

The migration process runs to completion.

Foreman and Proxy versions:


Foreman and Proxy plugin versions:

  • foreman-tasks 3.0.3
  • foreman_docker 5.0.0
  • foreman_openscap 4.1.2
  • foreman_remote_execution 4.2.2
  • katello 3.18.1

Distribution and version:

CentOS Linux release 7.9.2009 (Core)

Other relevant data:

Hi @fbachmann,

Can I see your Pulp 3 versions?

sudo pip3 list | grep pulp

I found a potentially-related Pulp 3 issue: Issue #7489: "No declared artifact with relative path" when migrating from Pulp 2 to Pulp 3 - Migration Plugin - Pulp

Hi @iballou,

sure, here goes:

$ sudo pip3 list |grep pulp
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pulp-2to3-migration (0.8.0)
pulp-certguard (1.0.3)
pulp-container (2.1.0)
pulp-file (1.3.0)
pulp-rpm (3.7.0)
pulpcore (3.7.3)

Thank you for looking into this.

Okay @fbachmann, your Pulp versions are definitely up-to-date. I’m going to say we should forward this to Pulp. Do you mind creating an issue here: https://pulp.plan.io/projects/migration/issues/new detailing your issue like you did here? It would probably be good to include the URL to the CentOS 8 repo you synced too.

Ok, I’ve opened an issue (#8377) in the Pulp project’s issue tracker.