# Improvements to failover registry in Content Provider jobs
## Introduction
In Content provider jobs, we build openstack services containers by using the
single source of truth tripleo-containers.yaml coming from tripleo-common.
tripleo-container.yaml also contains non-tripleo containers like ceph daemon, grafana, prometheous, alertmanager, node-exporter.
Currently we pull these containers from quay.ceph.io registry by using non-tripleo-container.yaml playbook and push it to local registry in content provider job.
If quay.ceph.io fails then it pulls from rdo-registry and docker.io.
## Current Issues.
* When quay.ceph.io is down then we need to pull the containers from rdo-registry but it also fails because the containers with latest tag does not exists.
* On dockerhub, their namespaces are different from quay.ceph.io so dockerhub failover does work.
* We also pushed a set of container of quay.io/tripleoci but we never use that
* Currently all these containers are synced manually by copy-quay script running in toolbox.
* It means our failover registry implementations needs more love.
## Things to do
* By using tripleo-containers.yaml as a single source of truth, make sure we update all the non-tripleo containers on these failover registeries after each promotion.
* Add quay.io/tripleoci as a first failover, then rdo registry and then docker hub.
* Map the quay.ceph.io non-tripleo container namespace to dockerhub namespace so that dockerhub works as expected.