Satellite's registry does not listen at port 5000 for image pull

Solution Verified - Updated

Environment

  • Red Hat OpenStack Platform 16.x (RHOSP)
  • Red Hat Satellite 6.10

Issue

  • Upgrade to satellite 6.10 causing image pull failed from satellite registry. On the Satellite server, there is nothing listening on port 5000. So any request to satellite.local:5000 is failing.
  • Setting port 5000/tcp in containers-prepare-parameter.yaml makes deployment to fail since Satellite's container image registry does not listen at 5000/tcp.

Resolution

Prior to Satellite 6.10, the Satellite server used two registries, one on port 5000 and another on port 443. With 6.10, the registry on port 5000 is no longer used. The registry used on port 443 continues to apply for both Satellite and Capsule.

This information also updated in Openstack Document and Satellite 6.10 official release document as Major Change

The reference document bugzillas are :

Note: The public visibility of the above mentioned RHBZ may change during the period of time. Contact Technical Support to get more details on RHBZ in case of any issue.

  • When preparing Satellite as Container image registry then do not include port 5000 in containers-prepare-parameter.yaml file that uses URL of the registry on the Satellite server as describer in RHOSP-Doc.
Do following changes in `containers-prepare-parameter.yaml` (Following is the example and it should be changed according to the satellite registryURL of the deployment):

Change
satellite.local:5000
to
satellite.local

Root Cause

  • Satellite 6.10 is not directly using Docker registry and instead there is used Pulp3 that is why pulling image directly from port 5000 fails. See Sat 6.10 Doc.

Diagnostic Steps

  • Configure Satellite as image registry according to Doc and then run overcloud deploy and it will fail.
  • Run the podman pull manually from undercloud with port 5000 in Satellite registry URL and this will give the following error.
$ podman pull --log-level=debug satellite.local:5000/test_openstack-lab-osp-16_2-osp16_containers-cinder-backup:16.2

this results in Following error:

connect: connection refused (&url.Error{Op:"Get", URL:"https://satellite.local:5000/v1/_ping", Err:(*net.OpError)(0xc00040c050)}) 
DEBU[0007] Accessing "satellite.local:5000/test_openstack-lab-osp-16_2-osp16_containers-cinder-backup:16.2" failed: error pinging docker registry satellite.local:5000: Get "https://satellite.local:5000/v2/": dial tcp xx.yy.zzz.www:5000: connect: connection refused 
DEBU[0007] Error pulling image ref //satellite.local:5000/test_openstack-lab-osp-16_2-osp16_containers-cinder-backup:16.2: Error initializing source docker://satellite.local:5000/test_openstack-lab-osp-16_2-osp16_containers-cinder-backup:16.2: error pinging docker registry satellite.local:5000: Get "https://satellite.local:5000/v2/": dial tcp xx.yy.zzz.www:5000: connect: connection refused 
  Get "https://satellite.local:5000/v2/": dial tcp xx.yy.zzz.www:5000: connect: connection refused
Error: Error initializing source 
connect: connection refused
  • Login to Satellite server and check that nothing is listening on port 5000.
[root@satellite610 ~]# ss -nlpt | grep 5000
[root@satellite610 ~]#
SBR
Category
Tags

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.