BUG REPORT: repo_compare_html.sh doesn't compare RHEL_Beta_* repositories
Describe the bug
repo_compare_html.sh is unable to compare RHEL_Beta_* repositories to Rocky_*_stg repositories because RHEL_Beta_* repositories cannot be accessed.
To Reproduce
Steps to reproduce the behavior:
- Clone this repository on a RHEL system with subscription.
- Attempt to run
repo_compare_html.shfor aRHEL_Beta_*repository - See error
[root@localhost repo_compare]# ./repo_compare_html.sh RHEL8_Beta_BaseOS Rocky8_BaseOS_stg
Red Hat Enterprise Linux 8 for x86_64 - BaseOS 436 B/s | 359 B 00:00
Errors during downloading metadata for repository 'RHEL8_Beta_BaseOS':
- Status code: 403 for https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os/repodata/repomd.xml (IP: 23.198.106.83)
Error: Failed to download metadata for repo 'RHEL8_Beta_BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Last metadata expiration check: 1:29:00 ago on Sat 06 Nov 2021 11:06:27 AM PDT.
<html><h3>Repo Version Differences for: RHEL8_Beta_BaseOS vs. Rocky8_BaseOS_stg</h3>
<style>
table {
border-collapse: collapse;
width: 90%;
}
th, td {
text-align: left;
padding: 8px;
}
tr:nth-child(even) {background-color: #d4d4d4;}
</style>
<div style="overflow-x:auto;">
<i>Generated by Repo Compare Script at: 2021-11-06 12:35:27 </i>
<br />
<table>
<tr><th>RHEL8_Beta_BaseOS Version</th> <th>Rocky8_BaseOS_stg Version</th></tr>
<tr> <td>--</td> <td>(DOES NOT EXIST)</td> </tr>
</table></html>
Expected behavior
repo_compare_html.sh should produce output similar to that found on the Rocky repocompare site.
System / Environment (please complete the following information):
- OS: RHEL Workstation
- OS Version: 8.4
- Subscription: Active
- Testing Repository
- Branch: main
- Hash: 9da40ca1735c527972f4f3f36fac767792e1c494
- Script / Tool:
repo_compare_html.sh
RHEL Subscription Active
[root@localhost repo_compare]# subscription-manager list
+-------------------------------------------+
Installed Product Status
+-------------------------------------------+
Product Name: Red Hat Enterprise Linux for x86_64
Product ID: 479
Version: 8.4
Arch: x86_64
Status: Subscribed
Status Details:
Starts: 05/08/2021
Ends: 05/08/2022
Entitlement Encoded in /etc/yum.repos.d/rhel8_beta.repo definition file
[root@localhost repo_compare]# grep $(basename $(ls /etc/pki/entitlement/*-key.pem)) /etc/yum.repos.d/rhel8_beta.repo | wc -l
10
No access to RHEL Beta repository with entitlement
[root@localhost repo_compare]# dnf --disablerepo=* --enablerepo=RHEL8_Beta_BaseOS repolist
Updating Subscription Management repositories.
repo id repo name
RHEL8_Beta_BaseOS Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) (BETA)
[root@localhost repo_compare]# dnf --disablerepo=* --enablerepo=RHEL8_Beta_BaseOS repoinfo
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) (BETA) 414 B/s | 359 B 00:00
Errors during downloading metadata for repository 'RHEL8_Beta_BaseOS':
- Status code: 403 for https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os/repodata/repomd.xml (IP: 23.198.106.83)
Error: Failed to download metadata for repo 'RHEL8_Beta_BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Update... I spun up a RHEL 8.5 Beta instance and re-ran repo_compare_html.sh there for the RHEL8_Beta_BaseOS repository without problems...
[root@localhost repo_compare]# ./repo_compare_html.sh RHEL8_Beta_BaseOS Rocky8_BaseOS_stg 2>&1 | tee test.out
Last metadata expiration check: 0:48:12 ago on Sat 06 Nov 2021 11:01:26 PM EDT.
Last metadata expiration check: 0:48:26 ago on Sat 06 Nov 2021 11:01:12 PM EDT.
<html><h3>Repo Version Differences for: RHEL8_Beta_BaseOS vs. Rocky8_BaseOS_stg</h3>
<style>
table {
border-collapse: collapse;
width: 90%;
}
...<snip>...
[root@localhost repo_compare]# grep openssl test.out
<tr> <td>openssl-1.1.1k-4</td> <td>openssl-1.1.1g-15</td> </tr>
<tr> <td>openssl-devel-1.1.1k-4</td> <td>openssl-devel-1.1.1g-15</td> </tr>
<tr> <td>openssl-libs-1.1.1k-4</td> <td>openssl-libs-1.1.1g-15</td> </tr>
<tr> <td>openssl-perl-1.1.1k-4</td> <td>openssl-perl-1.1.1g-15</td> </tr>
I then ran the full repo_compare_launcher.sh as well. In the Beta system the standard RHEL repository comparisons failed while the Beta ones did not.
[root@localhost repo_compare]# ./repo_compare_launcher.sh 2>&1 | tee ./repo_compare_launcher.sh.log
[root@localhost repo_compare]# grep Error ./repo_compare_launcher.sh.log
Errors during downloading metadata for repository 'RHEL8_BaseOS':
Error: Failed to download metadata for repo 'RHEL8_BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Errors during downloading metadata for repository 'RHEL8_AppStream':
Error: Failed to download metadata for repo 'RHEL8_AppStream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
...<snip>...
Thus, it seems the entitlement ID, which is used for access to the repos in the Redhat CDN, and/or repository definition includes information that is unique for the standard RHEL vs Beta repositories.
So, this may not be a bug as much as needing proper definition and/or documentation of requirement for where the comparisons are run. If you are in fact running all comparisons on a single system then there is something different about your Redhat entitlement than mine and that might need investigating.