---
# System prepended metadata

title: Improvements to failover registry in Content Provider jobs

---

# 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.