Not seeing my repos via pulp-admin

I don’t see any yum repos via “pulp-admin repo list” after creating a product for CentOS-7 and setting up the “base” and “updates” yum repos.
I do however see them via “hammer repository list”

Then, after I create and publish a content view “pulp-admin repo list” shows a single entry:

[root@katello tools]# pulp-admin repo list

Id: 3-CentOS-7-v1_0-puppet-8d33d1d6-900f-48ff-acb6-d21f596a42d8
Display Name: CentOS-7 Puppet Environment
Description: None
Content Unit Counts:

I don’t know if that’s intented behaviour, but all of the online documentation I’ve found for importing CentOS errata into Foreman seem to expect “pulp-admin list repo” to actually list those repos.

pulp-admin is being authenticated through the $HOME/.pulp/admin.conf configuration file.

Expected outcome:

I would expect “pulp-admin repo list” to list the yum repos I have already created and synced through the web ui or hammer.

Foreman and Proxy versions:

Foreman and Proxy plugin versions:

Distribution and version:
CentOS 7.8.2003

Other relevant data:

I get the exact same output. I think they have switched from MongoDB to Postgres. Why one repo remains is probably due to the Frankenstein nature of foreman. Pulp interfaces with MongoDB.

Apparently “getting errata into Centos is a Centos issue“

I will have to dig out an old technique of having Centos mirrors on my servers and injecting the errata into them. I then point Katello at them rather than the Centos mirrors.

Thanks for the reply. This does indeed look like a switch from MongoDB to PostgreSQL, probably as a result of the Pulp2 → Pulp3 update.

The singular repo I saw from pulp repo list is found in mongodb:

[root@katello tools]# mongo
MongoDB shell version v3.4.9
connecting to: mongodb://
MongoDB server version: 3.4.9
> use pulp_database;
switched to db pulp_database
> db.repos.find()

{ "_id" : ObjectId("5f1cad6e4a54e704e2a80ecb"), "repo_id" : "1-centos-7-v1_0-puppet-a7227dc4-5668-43ae-bbf6-d3a0a67b0f32", "display_name" : "centos-7 Puppet Environment", "notes" : { "_repo-type" : "puppet-repo" }, "scratchpad" : {  }, "content_unit_counts" : {  }, "_ns" : "repos" }

And the actual Yum repos are stored in PostgreSQL:

[root@katello tools]# su - postgres
[postgres@katello ~]$ psql pulpcore
psql (12.1)
Type "help" for help.
pulpcore=# select pulp_id, name from core_repository;

               pulp_id                |     name
 e0c17697-0649-49ad-b6c3-50606b1b5531 | base-38848
 a5b2c791-36ce-43d9-aa73-b9cd8adc6aeb | updates-47970
 bd454296-a9f4-47a8-af00-9311585ec40c | epel-98560
(3 rows)

So it looks like Pulp is using PostgreSQL for repo metadata instead of MongoDB but pulp-admin is still using the MongoDB backend.

Hello addi,

That is correct. We are switching to using pulp3 with a postgresql db for yum in 3.16. We do not have a pulp3 equivalent for pulp-admin right now shipping with katello. Is this a fresh installation of katello 3.16rc?

Thanks & Regards,
Samir Jha

Correct, this was a fresh 3.16rc installation.