From 016d23aa83211984f26aee2a0f4b2aefbfcb607e Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 8 Nov 2018 14:19:23 +0000 Subject: [PATCH] Use infra Docker registry mirror during CI The mirror caches images from Dockerhub, and should reduce load on the cloud and improve download times. Change-Id: I2b52fa6371118e28c1d601e8b90065897f24f41d --- ansible/roles/docker/defaults/main.yml | 3 +++ ansible/roles/docker/templates/daemon.json.j2 | 7 +++++++ playbooks/kayobe-overcloud-base/overrides.yml.j2 | 4 ++++ playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 | 4 ++++ playbooks/kayobe-seed-base/overrides.yml.j2 | 4 ++++ 5 files changed, 22 insertions(+) diff --git a/ansible/roles/docker/defaults/main.yml b/ansible/roles/docker/defaults/main.yml index 3d2e50934..5f0c82771 100644 --- a/ansible/roles/docker/defaults/main.yml +++ b/ansible/roles/docker/defaults/main.yml @@ -31,6 +31,9 @@ docker_registry: # CA of docker registry docker_registry_ca: +# List of Docker registry mirrors. +docker_registry_mirrors: [] + # MTU to pass through to containers not using net=host docker_daemon_mtu: 1500 diff --git a/ansible/roles/docker/templates/daemon.json.j2 b/ansible/roles/docker/templates/daemon.json.j2 index c7afa0632..c910cef86 100644 --- a/ansible/roles/docker/templates/daemon.json.j2 +++ b/ansible/roles/docker/templates/daemon.json.j2 @@ -1,4 +1,11 @@ { +{%- if docker_registry_mirrors | length > 0 %} + "registry-mirrors": [ +{%- for mirror in docker_registry_mirrors %} + "{{ mirror }}"{%- if not loop.last -%},{%- endif %} +{%- endfor %} + ], +{%- endif %} "storage-driver": "{% if docker_storage_driver == 'devicemapper' %}devicemapper{% else %}overlay{% endif %}", {% if docker_daemon_mtu %} "mtu": {{ docker_daemon_mtu }}, diff --git a/playbooks/kayobe-overcloud-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-base/overrides.yml.j2 index 0f80b73ad..2d5755227 100644 --- a/playbooks/kayobe-overcloud-base/overrides.yml.j2 +++ b/playbooks/kayobe-overcloud-base/overrides.yml.j2 @@ -3,6 +3,10 @@ # Ansible is run directly on the controller. disable_selinux_do_reboot: false +# Use the OpenStack infra's Dockerhub mirror. +docker_registry_mirrors: + - "http://{{ zuul_site_mirror_fqdn }}:8081/registry-1.docker/" + kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['git.openstack.org/openstack/kolla'].checkout }}" kolla_ansible_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kolla-ansible'].src_dir }}" diff --git a/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 index 383e97cd5..7511dc16d 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 +++ b/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 @@ -3,6 +3,10 @@ # Ansible is run directly on the controller. disable_selinux_do_reboot: false +# Use the OpenStack infra's Dockerhub mirror. +docker_registry_mirrors: + - "http://{{ zuul_site_mirror_fqdn }}:8081/registry-1.docker/" + {% if not previous_release | default(false) %} kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['git.openstack.org/openstack/kolla'].checkout }}" diff --git a/playbooks/kayobe-seed-base/overrides.yml.j2 b/playbooks/kayobe-seed-base/overrides.yml.j2 index 34ad2462f..4212a73fc 100644 --- a/playbooks/kayobe-seed-base/overrides.yml.j2 +++ b/playbooks/kayobe-seed-base/overrides.yml.j2 @@ -3,6 +3,10 @@ # Ansible is run directly on the controller. disable_selinux_do_reboot: false +# Use the OpenStack infra's Dockerhub mirror. +docker_registry_mirrors: + - "http://{{ zuul_site_mirror_fqdn }}:8081/registry-1.docker/" + kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['git.openstack.org/openstack/kolla'].checkout }}" kolla_ansible_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kolla-ansible'].src_dir }}"