You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Affected Puppet, Ruby, OS and module versions/distributions
Puppet: 7
Distribution: RHEL8
How to reproduce (e.g Puppet code you use)
epel::epel_metalink : absent
Other params inherited from module defaults.
What are you seeing
On RHEL8, if you disable metalink config option in generated /etc/yum.repos.d/epel.repo but leave only mirrolist, yum/dnf check-update generates huge amount of curl errors in /var/log/dnf.librepo.log.
Update/installation does still work, but logs grow huge pretty fast since for every mirror and method, few of these error log lines are generated - and there are a lot of mirrors...
On the other hand, if you disable puppet, and manually change the generated epel.repo to use metalink instead of mirrorlist, everything works as it should, and normal logs are present - no curl errors.
What behaviour did you expect instead
These curl errors should not be present, whatever method you use - mirrorlist, metalink or baseurl.
If repo 'backend' itself is the culprit and this module can not get around it, at least it should clearly state in documentation that on certain OS/release versions we should use one or the other combination to avoid problems.
Also, it should state which combinations should work and which might create issues, with some background info if possible.
Output log
2022-11-24T11:31:12+0100 INFO Librepo version: 1.14.2 with CURL_GLOBAL_ACK_EINTR support (libcurl/7.61.1 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.6 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.2.0) libssh/0.9. 6/openssl/zlib nghttp2/1.33.0) 2022-11-24T11:31:13+0100 INFO Downloading: https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64 2022-11-24T11:31:14+0100 INFO Downloading: <metalink version="3.0" xmlns="http://www.metalinker.org/" type="dynamic" pubdate="Thu, 24 Nov 2022 10:31:13 GMT" generator="mirrormanager" xmlns:mm0="http:// fedorahosted.org/mirrormanager">/repodata/repomd.xml 2022-11-24T11:31:14+0100 INFO Error during transfer: Curl error (3): URL using bad/illegal format or missing URL for http://<url protocol="rsync" type="rsync" location="DK" preference="99">rsync://mirror.netsite.dk/epel/8/Everything/x86_64/repodata/repomd.xml</url>/repodata/repomd.xml [Host name '<url protocol="rsync" type="rsync" location="DK" preference="99">rsync' contains bad letter] 2022-11-24T11:31:14+0100 INFO Downloading: <url protocol="https" type="https" location="DK" preference="99">https://mirror.netsite.dk/epel/8/Everything/x86_64/repodata/repomd.xml</url>/repodata/repomd.xml ...
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce (e.g Puppet code you use)
epel::epel_metalink : absent
Other params inherited from module defaults.
What are you seeing
On RHEL8, if you disable metalink config option in generated /etc/yum.repos.d/epel.repo but leave only mirrolist, yum/dnf check-update generates huge amount of curl errors in /var/log/dnf.librepo.log.
Update/installation does still work, but logs grow huge pretty fast since for every mirror and method, few of these error log lines are generated - and there are a lot of mirrors...
Puppet generated epel.repo has this:
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch (as defined in this puppet module).
On the other hand, if you disable puppet, and manually change the generated epel.repo to use metalink instead of mirrorlist, everything works as it should, and normal logs are present - no curl errors.
What behaviour did you expect instead
These curl errors should not be present, whatever method you use - mirrorlist, metalink or baseurl.
If repo 'backend' itself is the culprit and this module can not get around it, at least it should clearly state in documentation that on certain OS/release versions we should use one or the other combination to avoid problems.
Also, it should state which combinations should work and which might create issues, with some background info if possible.
Output log
2022-11-24T11:31:12+0100 INFO Librepo version: 1.14.2 with CURL_GLOBAL_ACK_EINTR support (libcurl/7.61.1 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.6 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.2.0) libssh/0.9. 6/openssl/zlib nghttp2/1.33.0) 2022-11-24T11:31:13+0100 INFO Downloading: https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64 2022-11-24T11:31:14+0100 INFO Downloading: <metalink version="3.0" xmlns="http://www.metalinker.org/" type="dynamic" pubdate="Thu, 24 Nov 2022 10:31:13 GMT" generator="mirrormanager" xmlns:mm0="http:// fedorahosted.org/mirrormanager">/repodata/repomd.xml 2022-11-24T11:31:14+0100 INFO Error during transfer: Curl error (3): URL using bad/illegal format or missing URL for http://<url protocol="rsync" type="rsync" location="DK" preference="99">rsync://mirror.netsite.dk/epel/8/Everything/x86_64/repodata/repomd.xml</url>/repodata/repomd.xml [Host name '<url protocol="rsync" type="rsync" location="DK" preference="99">rsync' contains bad letter] 2022-11-24T11:31:14+0100 INFO Downloading: <url protocol="https" type="https" location="DK" preference="99">https://mirror.netsite.dk/epel/8/Everything/x86_64/repodata/repomd.xml</url>/repodata/repomd.xml ...
Any additional information you'd like to impart
Default EPEL RPM creates epel.repo that uses metalink and not mirrorlist, although it's a bit longer;
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdir
For test, I have removed last two parameters from the URL and it still works, thus matching the config in this puppet module.
The text was updated successfully, but these errors were encountered: