Master Article for troubleshooting '[Errno 14] HTTPS Error 404 - Not Found' error observed on Red Hat Satellite clients.

Updated -

Issue

When trying to install/update packages using yum getting below error on Client registered to Red Hat Satellite 6 server:

https://satellite.example.com/pulp/repos/test/Library/content/dist/rhel/server/6/6Server/x86_64/os/repodata /repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

Overview

Generally, the [Errno 14] HTTPS Error 404 - Not Found error is observed due to inconsistent metadata of the repositories or if the client could not find or access the requested package on the server. The troubleshooting steps which need to be followed to resolve this issue vary in different scenarios and also there are multiple resolutions available for it. This article lists different KCS Solutions describing when this issue occurs and how to get it resolved.

There are multiple parameters that you need to check before following any Solution like whether there is a Content View associated with the client or Default Organization View, whether the client is registered through Capsule or directly to Satellite, release version set on the client and many more.

Known Issues and Resolution

Verify if correct subscription-manager release is set on clients.

  • To configure the subscription-manager release through commands:

    # cat /etc/redhat-release                               -->  Verify the host RHEL release :
    # subscription-manager release --show                   --> Verify the subscription manager release set
    # subscription-manager release --set=7Server            --> Set the correct release 
    # yum clean all 
    # yum repolist
    
  • For configuring the same through Satellite GUI, refer article : Yum failing due to incorrect subscription-manager release set on clients..

Check if /var utilization is full on Satellite/Capsule.

  • In some situations the /var utilization gets full due to which the repository synchronization doesn't get completed resulting in 404 not found errors on clients.

    [root@satellite ~]# df -h /var/lib/pulp
    Filesystem                   Size  Used Avail Use% Mounted on
    /dev/mapper/vg00-pulp        1.1T  1.1T   22K  100% /var/lib/pulp
    
  • To extend a logical volume and its filesystem in Red Hat Enterprise Linux refer to article : /var utilization is full on Satellite/Capsule 6.

If a "%24releasever" character is observed in repomd.xml URL when performing yum repolist then set the correct release version in yum.

  • Example output:

    https://satellite.example.com/pulp/repos/XYZ/Library/rhel-cv/content/dist/rhel/server/7/%24releasever/x86_64/os/repodata/repomd.xml: [Errno 14]   HTTPS Error 404 - Not Found Trying other mirror.
    
  • Remove pre-defined variable from /etc/yum/vars/releasever file:

    # cat /etc/yum/vars/releasever
    7.5
    
  • One can create a /etc/yum/vars/releasever file if its not present on client as given below:

    # touch /etc/yum/vars/releasever
    # echo "7Server" >> /etc/yum/vars/releasever                                     --> Make sure to add right version as per base OS version.
    # subscription-manager refresh
    # yum repolist
    

For clients associated with Default Organization View.

  • Refresh manifest on Satellite WEB UI:

    • Navigate to Content > Red Hat Subscriptions > Click on Manage Manifest > Refresh Manifest
  • Once the refresh is complete, re-synchronize the problematic repository.

    • On Satellite WEB UI > Content > Sync Status > synchronize the affected repository
  • After successful repository synchronization, go to the host and run the following commands :

    # rm -rf /var/cache/yum/*
    # yum clean all
    # subscription-manager refresh
    # yum repolist
    # yum install <package>
    
  • Refer article for further information.

For clients associated with Content View.

  • Re-synchronize the problematic repository.

    • On Satellite WEB UI > Content > Sync Status > synchronize the affected repository by clicking on Synchronize Now
  • Re-publish the content view by executing the below steps:

    • Satellite GUI --> Content --> Content Views --> Click on the content view --> Click on Publish New Version to re-publish.
  • If required, promote the content view to the required lifecycle environment.

    • Satellite GUI --> Content --> Content Views --> Click on the content view --> Promote the latest version of the content view to the required lifecycle environment by clicking on Promote
  • Now execute the below commands on the client systems.

    # subscription-manager refresh
    # rm -rf /var/cache/yum/*
    # yum clean all
    # yum repolist
    

Facing 404 error even if the package is in the metadata

  • To fix the broken symlinks issue or re-generate the repository metadata on Satellite/Capsule please refer to the article

While using Load Balancing Capsule setup:

  • Sticky session has to be configured on TCP port 443 to request yum metadata for RPM repositories from different Capsule Servers that are configured for Load Balancing.
  • Ensure that all load-balanced capsules have the same Life Cycle Environments enabled and are currently synced to Satellite.
  • Example of HAProxy configuration for port 443:

    #https
    frontend https
       bind *:443
       mode tcp
       option               tcplog
       default_backend f-proxy-https
    backend f-proxy-https
       option tcp-check
       balance source
       mode tcp
       server f-proxy-https-1  capsule1.example.com:443 check
       server f-proxy-https-2  capsule2.example.com:443 check
    
  • For more details please refer article

If yum update fails due to failure in downloading the "repomd.xml.asc" file

  • Please refer the article to know the Resolution steps and Root Cause of the issue.