diff --git a/roles/use-docker-mirror/tasks/main.yaml b/roles/use-docker-mirror/tasks/main.yaml index 6f5a8849a..06d64f93d 100644 --- a/roles/use-docker-mirror/tasks/main.yaml +++ b/roles/use-docker-mirror/tasks/main.yaml @@ -1,10 +1,32 @@ -- name: Set mirror_fqdn fact +- name: Set docker_mirror fact from mirror_info when: - - mirror_fqdn is not defined - - zuul_site_mirror_fqdn is defined + - docker_mirror is not defined + - mirror_info is defined + - dockerhub is in mirror_info set_fact: - mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" + docker_mirror: mirror_info.dockerhub.url +- name: Set docker_mirror fact from zuul_site_mirror_info + when: + - docker_mirror is not defined + - zuul_site_mirror_info is defined + - dockerhub is in zuul_site_mirror_info + set_fact: + docker_mirror: zuul_site_mirror_info.dockerhub.url + +# Backward compat fallback to old style mirror_fqdn based url derivation. +- name: Set docker_mirror fact + when: + - docker_mirror is not defined + - mirror_info is not defined + - zuul_site_mirror_info is not defined + - mirror_fqdn is defined or zuul_site_mirror_fqdn is defined + set_fact: + docker_mirror: "http://{{ mirror_fqdn | default(zuul_site_mirror_fqdn) }}:8082" + +# Only run when new style mirror_info is defined or old style mirror +# info is defined and not new style. This forces people using new +# style to configure dockerhub mirroring there. - name: Set up docker mirrors include_tasks: mirror.yaml - when: mirror_fqdn is defined or docker_mirror is defined + when: docker_mirror is defined diff --git a/roles/use-docker-mirror/tasks/mirror.yaml b/roles/use-docker-mirror/tasks/mirror.yaml index d845bae55..a39eba250 100644 --- a/roles/use-docker-mirror/tasks/mirror.yaml +++ b/roles/use-docker-mirror/tasks/mirror.yaml @@ -5,17 +5,8 @@ path: /etc/docker mode: 0755 -- name: Set docker_mirror fact - when: - - docker_mirror is not defined - - mirror_fqdn is defined - set_fact: - docker_mirror: "http://{{ mirror_fqdn }}:8082" - - name: Install dockerhub proxy configuration become: yes - when: - - docker_mirror is defined template: dest: /etc/docker/daemon.json group: root diff --git a/zuul-tests.d/container-roles-jobs.yaml b/zuul-tests.d/container-roles-jobs.yaml index 7cb718286..3925f8590 100644 --- a/zuul-tests.d/container-roles-jobs.yaml +++ b/zuul-tests.d/container-roles-jobs.yaml @@ -4,6 +4,7 @@ abstract: true files: - .*ensure-docker.* + - roles/use-docker-mirror/.* - roles/ensure-package-repositories/.* - test-requirements.txt run: test-playbooks/ensure-docker.yaml