Unable to use repo with Red Hat Satellite: Katello::Errors::Pulp3Error: Treeinfo file should have INI format
- Dominant language
- Jinja
- Stars
- 168
- Forks
- 77
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 12
Description
In our organization we prefer that Linux servers not communicate directly with the outside world. Servers should have no custom repo definitions in /etc/yum.repos.d but get install packages from our internal Red Hat Satellite server.
Normally we have no issue mimicking the configuration of the repository as represented in a repo-definition in Satellite (version 6.13.4.1).
With your repo's for RHEL7, 8, and 9 however, we run into the problem that Satellite will not synchronize the repository. The error we get is:
Katello::Errors::Pulp3Error: Treeinfo file should have INI format
After doing some research, it turns out that yum repository's may contain a file named '.treeinfo', but since there is no standardized way to get a directory listing within the http-protocol, the only logical method to find out if this file exists is to simply request it with an http GET. If the file does not exit, the http server should return a 404 error code. The webserver at https://packages.adoptium.net/ui/native/rpm/ however doesn't do that and instead first gives a JFrog logo followed by text output that looks like json and does content-wise report that it doesn't exist, even mentioning the error-code 404, but that's not the same as http reply 404. On account of the reply to this request actually yielding output, Satellite concludes the file actually does exist and tries to process its contents, which fails because a true .treeinfo file should be in INI-format, not json.
Can something be done about the webserver used to host this repository so it complies with normal http protocol guidelines?
Contributor guide
Research direction
Start by requesting .treeinfo from https://packages.adoptium.net/ui/native/rpm/ and inspect the HTTP status and response body. Review how the RHEL 7, 8, and 9 repositories are hosted and verify the expected behavior with Red Hat Satellite 6.13.4.1. Done means a missing .treeinfo returns an actual HTTP 404 and Satellite can synchronize the repository.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100