How to fix registry console UI in OpenShift 3.11

Registry console UI in OpenShift 3.11 is broken on CentOS as it is not available on Docker Hub.

All operations are performed on the management node.

Log in to the OpenShift cluster.

$ oc login https://openshift-example.example.org:8443 --token=x9K7kRbqU-GXi19kuOQqot14wN3PvE9zBEU52xjRWJq -n default
Logged into "https://openshift-example.example.org:8443" as "admin" using the token provided.

You have access to the following projects and can switch between them with 'oc project ':

  * default
    development-milosz
    kube-public
    kube-service-catalog
    kube-system
    management-infra
    openshift
    openshift-ansible-service-broker
    openshift-console
    openshift-descheduler
    openshift-infra
    openshift-logging
    openshift-metrics-server
    openshift-monitoring
    openshift-node
    openshift-sdn
    openshift-template-service-broker
    openshift-web-console
    ops-view

Using project "default".

You will see ImagePullBackOff status on registry-console pod.

$ oc get pods
NAME                             READY     STATUS             RESTARTS   AGE
docker-registry-2-dftw8          1/1       Running            0          7d
hawkular-openshift-agent-fgk7d   1/1       Running            2          8d
hawkular-openshift-agent-kmv9r   1/1       Running            2          8d
hawkular-openshift-agent-nphg8   1/1       Running            3          8d
hawkular-openshift-agent-pgvs8   1/1       Running            2          8d
registry-console-1-deploy        0/1       Error              0          7d
registry-console-1-phssn         0/1       ImagePullBackOff   0          7d
router-all-15-cndg9              1/1       Running            0          17m

Deploy will time out.

$ oc logs -f dc/registry-console  V
--> Scaling registry-console-1 up to 1
error: timed out waiting for any update progress to be made

Deploy status will enter failed state.

$ oc rollout history dc/registry-console 
deploymentconfigs "registry-console"
REVISION	STATUS		CAUSE
1         Failed    config change

The easiest solution is to use docker.io/timbordemann/cockpit-kubernetes:latest docker image instead of the docker.io/cockpit/kubernetes:latest.

Fix it ad-hoc.

$ oc get --export   dc/registry-console -o yaml > registry_console.yaml
$ sed -i -e "s|image:.*|image: docker.io/timbordemann/cockpit-kubernetes:latest|" registry_console.yaml
$ oc apply -f registry_console.yaml 
deploymentconfig.apps.openshift.io/registry-console configured
$ oc rollout history dc/registry-console 
deploymentconfigs "registry-console"
REVISION	STATUS		CAUSE
1		Failed		config change
2		Complete	config change

Now, you can access https://registry-console-default.openshift-example.example.org/.

Update your hosts file to fix it permanently.

    # registry
    openshift_cockpit_deployer_image: docker.io/timbordemann/cockpit-kubernetes:latest