We are using Red Hat Satellite server to distribute rpm packages to our servers. It synchronizes the Elasticsearch 8.x yum repository (https://artifacts.elastic.co/packages/8.x/yum) only downloading repository metadata and the packages we actually use (download policy "On demand").
Since late January, synchronizing the repository has failed due to the upstream repository metadate missing the file repodata/filelists.xml. Also repodata/repomd.xml should have a reference to this file.
There must have been some change to the metadata generation lately since we had this working earlier in January.
Would it be possible to generate the complete metadata again?
The issue reported in this thread has not been resolved. I have verifed that today.
Yes, you can install rpms from the repo if you add the repo directly to a host, but the point of using satellite server to distribute software, is to get the same version installed on all our hosts. Satellite is unable to use the repository with the current metadata.
We are missing <data type="filelists"> here. We have tried downloading the entire repository manually (outside satellite) and rebuild the metadata ourselves (using createrepo), and then we get:
This method is however impractical as we need to do a complete download of all rpms instead of just the metadata and the rpms we need. It will also cause more load on the upstream servers, in pareticular if a lot of satellite users starts using this method to overcome the issue.
RedHat Satellite is widely known with companies as the primairy way to maintain and provision their RedHat systems. It currently is on version 6.16 which is not to be confused with rhel6 . My Satellite 6.16.runs on rhel9 .
Other users reported in the topic mentioned above:
It seems to still be a problem with the upstream repositories. We have the same issue from Satellite 6.15 on RHEL8 and Satellite 6.16 on RHEL9. The following URLs all return 404 (Not Found):
Also note that we have had the 8.x yum repo working with Satellite 6.16 until a week or two ago, so there must have been some changes to the upstream repository that causes the repository sync to fail now.
===========================
Please fix this since it blocks us from installing and upgrading on our systems. Also note that I found no problems with the version 7 repo.
We did indeed roll out a change that stopped providing filelist.xml as a result. While this is something that we have indeed provided in the past, it makes metadata operations slower and is not required for the elastic packaging repositories to function correctly. Our tests pass on all OSes from our support matrix.
Can you help me understand if there is no way to configure a repo in Red Hat Satellite without a filelist ? Is this metadata that Satellite can be configured to create on it's own if your setup requires it for some reason ?
"Republish Repository Metadata" for the ES 8.x repo did not resolve the issue. We still got the same error. Even if it had worked, it would mean we would have to republish before each sync, which would not be practical.
I can see no option in the repository configuration in Satellite which would let us sync it without filelists.xml. I can open a support case with Red Hat and ask to make sure.
It would be great if you could reach out to Red Hat! Thank you! We're open to the idea of addings this metadata back if there's no way at all for Satellite to work without it. I find it strange that the this is the case, but I'm not familiar with this product. I'll keep monitoring this thread.
I strongly suggest you gain some experience on the way Satellite behaviors (you as in Elastic, not you as in atorok per sé ) . As I stated above, It is widely used in larger environments to manage patching processes on corporate RedHat landscapes.
Satellite hosts repositories itself. Forcefully regenerate metadata is about it's own repositories, not about the upstream package sources. There simply seems to be no option other than creating a local mirror of Elastic's repository structure, then generate the file, and use that as upstream repo for satellite. Not only this seems unlogical, it also beats the purpose of having Satellite being the one-stop-shop on our enviroment for managing package streams from the internet and to our servers.
It looks like the yum makecache command requires the filelist.xml.gz file. I was able to reproduce the error on an Amazon Linux 2 OS and centos 7. However, running yum makecache fast will work.
Start up a VM on AWS with Amazon Linux 2 OS.
Follow steps in this guide to add /etc/yum.repos.d/elastic.repo.
The conclusion we reached is that while packages are installable just fine, yum makecache specifically fails on some older but still supported OSes and there doesn't seem to be a configuration option to make yum work without it. We're looking for solutions.
I got this from Red Hat support regarding the use of filelists.xml in the latest version of Satellite server (6.16):
Satellite, as it's designed today, would not be able to sync any repos missing filelists or other.xml files from their repodata. If you want to do it today, You will have to locally mirror that repo somewhere, if needed on /pub of satellite, generate a metadata of that local mirror and then sync it in satellite.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.