Packages in repo not available to hosts

Problem:
Hello,

Hosts in our org can’t see available packages in repos.
The repo is updated with no issues. Packages are available in the repo’s url on my system via wget like so:
wget https://katello/pulp/content/MYORG/Library/custom/Centos_9_Stream/EPEL/Packages/c/clustershell-1.9-1.el9.noarch.rpm

On the same host, the package is not available via yum:
yum install clustershell
Updating Subscription Management repositories.
BaseOS
Microsoft
EPEL
AppStream
EPEL-NEXT
No match for argument: clustershell
Error: Unable to find a match: clustershell

Expected outcome:

packages should be available to hosts to install via yum/dnf

Foreman and Proxy versions:
Foreman * Version 3.2.1
Foreman and Proxy plugin versions:
foreman-tasks 6.0.1
foreman_remote_execution 6.0.0
katello 4.4.1

Distribution and version:
CentOS Stream release 8

Other relevant data:
subscription-manager refresh or re-registering the hosts did not resolve the issue. Could not see something relevant in the logs.
The system is running with no issues for the last couple of months.

Any help is much appreciated.

Are you using content views? The Library/custom URL part references Library/Default Organizational View

Run

# subscription-manager identity
...
# subscription-manager repos --list-enabled

The former shows the content view (environment name) and the latter shows the URLs it’s actually using.

Thanks for the quick response. Please see output:

subscription-manager identity
system identity: acf423d9-154c-41f9-bb1e-0a3c72a1a333
name: bunny9
org name: MYORG
org ID: MYORG
environment name: Library/Centos_9_Stream

subscription-manager repos --list-enabled
±---------------------------------------------------------+
Available Repositories in /etc/yum.repos.d/redhat.repo
±---------------------------------------------------------+
Repo ID: MYORG_Centos_9_Stream_EPEL-NEXT
Repo Name: EPEL-NEXT
Repo URL: https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL-NEXT
Enabled: 1

Repo ID: MYORG_Centos_9_Stream_BaseOS
Repo Name: BaseOS
Repo URL: https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/BaseOS
Enabled: 1

Repo ID: MYORG_Centos_9_Stream_EPEL
Repo Name: EPEL
Repo URL: https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL
Enabled: 1

Repo ID: MYORG_Centos_9_Stream_AppStream
Repo Name: AppStream
Repo URL: https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/AppStream
Enabled: 1

Your host is subscribed to the content view labeled “Centos_9_Stream” in the Library environment.

Did you publish a new content view version?

Can you see the missing rpm at https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL?

“Did you publish a new content view version?”

No new content view has been published.

" Can you see the missing rpm at https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL?"

Yes.
Packages are available in the repo’s url on my system via wget like so:
wget https://katello/pulp/content/MYORG/Library/custom/Centos_9_Stream/EPEL/Packages/c/clustershell-1.9-1.el9.noarch.rpm

That’s your problem then.

Please carefully read the URL I have quoted before from your repos output. I have posted the URL to the content view Centos_9_Stream. Your download URL is the URL for the default organizational view. That’s not the view your client is using… Check the content view URL and it should be missing the rpm.

I’m not sure I understand.
The current content view is on the latest version (ver 4). Should I update to another version with no new repos?

There are no rpms at https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL.
There a least two sub directories to get to any package. like in the url posted earlier (Packages and c).

Using a web browser the path ‘https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL’ loos like this:

Under Packages there are many subdirectories:

The current content view is 6 months old. No changed has been made since. There were no issues regarding new or updated packages in the repo’s. How do I update the published url of a repo?

A content view version is a snapshot in time. It doesn’t change anymore. When there are new packages synced into a repository you’ll need to publish a new content view version. Otherwise the new package won’t go into the content view and clients using that content view will never see the new package.

Yes. You have to go into the directories to see which rpms are in the view.

Again, please carefully compare the URLs you have used with mine:

You have used this for wget:
https: //katello/pulp/content/MYORG/Library/custom/Centos_9_Stream/EPEL/Packages/c/clustershell-1.9-1.el9.noarch.rpm

The content view repo starts like this:
https: //katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL

The full URL for wget in the content view would be:
https://katello/pulp/content/MYORG/Library/Centos_9_Stream/custom/Centos_9_Stream/EPEL/Packages/c/clustershell-1.9-1.el9.noarch.rpm

This URL does not exist because the latest version of the content view is outdated and does not contain it until you publish a new version.

1 Like

Thanks a bunch! :grinning: