Satellite's registry does not listen at port 5000 for image pull
Environment
- Red Hat OpenStack Platform 16.x (RHOSP)
- Red Hat Satellite 6.10
Issue
- Upgrade to
satellite 6.10causing image pull failed from satellite registry. On the Satellite server, there is nothing listening on port 5000. So any request tosatellite.local:5000is failing. - Setting port
5000/tcpin containers-prepare-parameter.yamlmakes deployment to fail sinceSatellite's container image registrydoes not listen at5000/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
5000incontainers-prepare-parameter.yamlfile that uses URL of the registry on theSatellite serveras 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.10is not directly usingDocker registryand instead there is used Pulp3 that is why pulling image directly from port 5000 fails. See Sat 6.10 Doc.
Diagnostic Steps
- Configure
Satelliteas image registry according to Doc and then run overcloud deploy and it will fail. - Run the
podman pullmanually fromundercloudwith port5000in 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 serverand check that nothing is listening on port5000.
[root@satellite610 ~]# ss -nlpt | grep 5000
[root@satellite610 ~]#
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.