rocky-linux / testing

Used for testing of the release
BSD 3-Clause "New" or "Revised" License
21 stars 28 forks source link

BUG REPORT: repo_compare_html.sh doesn't compare RHEL_Beta_* repositories #67

Open tcooper opened 2 years ago

tcooper commented 2 years ago

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:

  1. Clone this repository on a RHEL system with subscription.
  2. Attempt to run repo_compare_html.sh for a RHEL_Beta_* repository
  3. 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):


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
tcooper commented 2 years ago

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.