for couple of months, we are hearing about issues with EL8 “AppStream” handling of provisioning. It’s a bit mess, I am trying to figure this out, therefore I am creating this wiki page where I want to collect our findings of what works and what does not.
Repository - source repository - fill in either Foreman when using a public or a mirror repo or Katello when using synced content. Also include version.
Pulp - version of pulp used for the workflow. Do not fill for Foreman deployment.
Workaround - Foreman/Katello currently ships with a workaround in the default kickstart. State if you used it or if you commented it out or modified it in any way.
Result - your result, drop comments below for further information.
When testing, make sure to include this in your kickstart to test if AppStream really works:
%packages
# install a package from AppStream repository
vim-ehnanced
Here are the current findings:
Distro
Repository
Pulp
Workaround
Result
CentOS 8 Stream
Foreman (2.5)
-
Commented out
No problems
CentOS 8 Stream
Katello (4.1)
3.14
Yes
Anaconda gets stuck, repository problem
CentOS 8 Stream
Katello (4.1)
3.14
Commented out
No problems
Rocky 8
Foreman (2.5)
-
Commented out
No problems
Rocky 8
Katello (4.1)
3.14
Yes¹
Anaconda gets stuck, repository problem
Rocky 8
Katello (4.1)
3.14
Commented out
No problems
¹ : The workaround has been modified to work for Rocky Linux → s/centos/rocky/
The conclusion
I think we need to delete the workaround from our default kickstart, I do not understand now why this was added in the first place. I was able to track this down to:
I have added my findings to the table. But something strange is going on…
Previously I was able to make Rocky’s Kickstart work by changing the workaround to match Rocky instead of CentOS. But now I’m unable to find a configuration (with or without the workaround to make it work).
I tried the following repository names for AppStream:
Rocky8-Appstream
AppStream
All with Product name ‘Rocky8’, no combination works
@Thulium-Drake I am not sure what you are doing but it works great here, I am updating the table. I guess we will be removing the workaround from the default kickstart, it is not needed at all.
I also tried to create a product with both BaseOS and AppStream repositories. I applied the mentioned “removed AppStream Pulp2 workaround” patch to my template and this is how it all got rendered:
I will say Rocky 8 is working fine for my in Foreman3.0/Katello 4.2rc3. Alma I haven’t been able to get to work yet. AppStream is working fine with it.
You have to have both the regular BaseOS/AppStream and the BaseOS/AppStream kickstart repos it in the content view though if you want to get updated after the build.
You can get by with just the kickstart in the content view for doing builds maybe, but that does not work for Day 1+.
Yes, isn’t that obvious from the conversation? Let me try it again: When you sync CentOS 8 BaseOs repo with Pulp3+ it will also pick AppStream with it. On the Repository katello page, you will see “Variants: BaseOS, AppStream”, however, you will NOT see those packages in the list of packages. It is a bug I reported.
Anaconda will see AppStream packages too.
Try it and report back. I would like to confirm this before we remove the workaround.
Now, the workaround might still be needed for Pulp 2 instances, but that is something I do not have time to test. It is also quite ugly, I am happy to drop it.
I did run into an issue with subscription-manager though. After rebooting the system the AppStream repo is not added by subscription-manager to /etc/yum.repos.d/redhat.repo, so yum can’t find them
I am hitting the issue of Rocky Linux 8 Appstream repo availability, but it’s only a problem while Anaconda is running. After provisioning is complete, appstream is properly configured as a yum/dnf repo.
Here’s the Anaconda message I get, just after package installation begins:
Starting package installation process
Question
Problem in request:
missing packages: wget, redhat-lsb-core
Would you like to ignore this and continue with installation?
Please respond ‘yes’ or ‘no’:
Replying ‘no’ reboots. Replying ‘yes’ allows Anaconda to finish, but the ‘wget’ and ‘redhat-lsb-core’ packages are not installed.
Both the ‘wget’ and ‘redhat-lsb-core’ packages are in the Rocky Linux 8 Appstream repo.
In a clone of Kickstart Default, when I comment out the “workaround” section mentioned by others in this thread, the problem remains.
When I force “appstream_present = true” in the top block of assignments, the problem remains.
When I comment out the wget’ and ‘redhat-lsb-core’ packages, the installation completes unattended, but the two Appstream packages are missing (suboptimal!)
The problem does NOT occur when provisioning CentOS 8.4
Seems like Anaconda can’t find Rocky 8 Appstream, but why?
It looks like everything in Rockylinks .treeinfo seems correct. Can you completely remove the additional_media stuff from the template? It performs some search and replace there, Anaconda should be able to read AppStream variant from the treeinfo file just fine without any hacks it seems.
Subsequently, I was able to build Rocky 8.4 with the Kickstart Default template and Anaconda finds Rocky 8 AppStream, as expected.
I referenced this post, which discusses a similar issue with CentOS 8 and the EPEL repo.
One thing I noticed: ‘additional_media’ is referenced as a parameter in the Kickstart Default template, but it is not documented in the initial comment block. Why keep it a secret?