As noted in this bug notes, the CentOS 8 BaseOS repository references AppStream repo in a way which is incompatible with Foreman. Specifically, it uses a relative path that goes above the product name. A packet captures shows that dnf is actually resolving that path before* it goes to pull the repo, so even if you add a 302 redirect to catch /…/…/…/, this will not work properly.
We installed the CentOS 8 ISO as a stopgap measure and were able to create systems. There are still too many other problems for production. Maybe all will be resolved by the time Foreman/Katello is fixed. For now, we’ll stick with 7.
This issue can be fixed by syncing the AppStream repo, which Katello will detect and send over to Anaconda. I’m updating the Katello provisioning documentation, but I’ve put the instructions in the bug here too.
Yeah - we saw - but that doesn’t include the updates since the release of CentOS 8.0 and isn’t guaranteed to be stable. It’s far better to use the template in note #9 here.
if you setup a correct installation media // os + pxe + provision template in foreman its working out of the box (now also with /os instead of /kickstart)
just to note that the problems you are seeing are coming from using katello instead of plain yum // dnf / deb mirrors, simply katello is still not compatible out of the box with centos 8.
Tell me what you think. Currently CentOS 8 installation is broken:
We don’t ship a working Installation Media with foreman, the one named “CentOS mirror” will not work.
If it’s set to http://mirror.centos.org/centos/$major/BaseOS/$arch/kickstart/ it still does not work due to regression discussed there
Only after additional media http://mirror.centos.org/centos/$major/AppStream/$arch/kickstart/ is added (as a host parameter) it will work.
My patch aims to solve this:
New installation media called “CentOS 8 mirror” is shipped (alternatively we can put some logic into Redhat operatingsystem family to change it automatically but I believe this is less confusing)
AppStream is automatically added if redhat major is 8 or higher, URL contains “BaseOS” and AppStream repo is missing
I tried it out with Katello 3.14 but I get still the package missing error. I am confused how to setup the repositories, content views and installation media stuff for CentOS 8.
@mcorr CentOS8 (RHEL8) dramatically changed setting up repositories, it’s now BaseOS and AppStream separate repos instead of one. Do you remember if we have already covered this in Satellite docs? Maybe we should upstreamize this ASAP because this is repeating problem for our users.
Is your operatingsystem in Foreman database really “Centos” and major 8 or higher? That’s what the code does, probably it needs some fine tuning, it should also match “CentOS” I think.
If you’re here, this may be relevant to your woes. This thread is where google sent me when I first searched for a solution to the “…/…/…/AppStream/” problem.
For the record, there are two solution to the problem.
When not using Katello (Foreman Core). Foreman 2.1 (and maybe 2.0) will ship two Installation Media, one named “CentOS 8.x mirror” that must be used for CentOS 8 and likely older versions. And one named “CentOS 7.x mirror” which should be used for older releases. Just pick the correct media and you should be good to go as Anaconda installer automatically adds AppStream. We might rename these in the future, we have decided for these names as these are the least confusing for newcomers.
When using Katello, a template change was previously required for older Foreman releases but from Foreman 2.1 this is part of the standard template and no changes are needed.