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.

Select a repo