Problem:
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
±---------------------------------------------------------------------+
Repositories
±---------------------------------------------------------------------+
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-2.1.0-1.el7
foreman-proxy-2.1.0-1.el7
Foreman and Proxy plugin versions:
katello-3.16.0-0.4.rc5.el7
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.
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?
Can you expand on this a little bit?
Am I understanding you to be saying you import the errata metadata on the various hosts/clients and then “point Katello at them rather then the CentOS mirrors” ?
We have now moved from centos7 to centos8 and the method no longer works.Please read the last line in bold first!
Effectively we made a “mrepo” repository copy for all the online repos we needed (centos, epel etc etc). (We had to do that anyway due to our servers not being on the internet). <of course only 64 bit repos>.
Each mrepo folder was placed under its own folder in /var/web/html/pub/centos7repos/. (if we were online we could have had a daily script that automatically mrepo’d from online repositories to /var/web/…/centos7repos/.
We then injected errata into those /var/…/centos7repo/repositories using the Generate_updateinfo.py method.
generate updateinfo.xml using Generate_updateinfo.py and errata.latest.xml.bz2
inject updateinfo.xml into /var/…/centos7repo/
We then created repositories in forman but rather than point to https://centsos.org… etc we pointed to our own local server http:///pub/centos7repo/epel http:///pub/centos7repo/baseos etc etc. Remember folks disk space is CHEAP, I don’t want to hear "oh you could have two copies of the same file on the same server …it is soooooo wasteful, urghuh! "
One thing I remember, because I cant program in “py” (python?), I had to disable checks to get it to work. I changed references from centos6 to 7.
However soon as it worked we moved to centos8 …I have to say I never did any integrity checking on whether it worked properly due to the sudden change of OS
just noticed someone has edited generate_updateinfo.py, and included “8” as well as “7”. However I don’t think there is a errata.latest.xml.bz2 for centos8. I wonder why the person included 8
actually I think we did not use mrepo to make a copy of the online repos.
I think we used rsync.
However I now think there is a better way for centos7
for centos8 their is an even better way as you don’t need to use createrepo reposync does everything.
Also all you are doing is placing files in /pub/centos7repo/ you dont need to mess with /etc/yum.conf.d/ foreman does that side of things. You are just created a local web based repositoty