From 4ad010a5a60811135b43b9ac9d16c8cf01d781dc Mon Sep 17 00:00:00 2001 From: Mark Goddard <mark@stackhpc.com> Date: Wed, 21 Apr 2021 12:00:52 +0100 Subject: [PATCH] CI: switch to quay.io for container images Based on the discussions from recent Kolla meetings [1][2][3], we established that, to avoid the DockerHub pull limit issues in our CI, we will try using quay.io. The images have already been published via Kolla CI for master/Wallaby [4] and Victoria [5]. This change applies only to CI. The user-facing move is yet to be discussed. [1] http://eavesdrop.openstack.org/meetings/kolla/2021/kolla.2021-03-17-15.00.log.html#l-102 [2] http://eavesdrop.openstack.org/meetings/kolla/2021/kolla.2021-03-24-15.00.log.html#l-137 [3] http://eavesdrop.openstack.org/meetings/kolla/2021/kolla.2021-03-31-15.01.log.html#l-50 [4] https://review.opendev.org/c/openstack/kolla/+/781130 [5] https://review.opendev.org/c/openstack/kolla/+/781899 See related Kolla Ansible change I22e11a994801447526ac26fc2815a1679876225e Change-Id: Id6690dc9a486af0ed7d42555d84cf77d6de0b6af --- playbooks/kayobe-overcloud-base/globals.yml.j2 | 4 ++++ playbooks/kayobe-overcloud-base/overrides.yml.j2 | 3 +++ playbooks/kayobe-overcloud-base/pre.yml | 1 - .../kayobe-overcloud-upgrade-base/globals.yml.j2 | 16 ++++++++++++++++ .../overrides.yml.j2 | 3 +++ playbooks/kayobe-overcloud-upgrade-base/pre.yml | 5 +++++ playbooks/kayobe-overcloud-upgrade-base/run.yml | 5 +++++ playbooks/kayobe-seed-base/globals.yml.j2 | 3 +++ playbooks/kayobe-seed-base/overrides.yml.j2 | 3 +++ playbooks/kayobe-seed-base/pre.yml | 5 +++++ .../kayobe-seed-upgrade-base/globals.yml.j2 | 3 +++ .../kayobe-seed-upgrade-base/overrides.yml.j2 | 3 +++ playbooks/kayobe-seed-upgrade-base/pre.yml | 5 +++++ playbooks/kayobe-seed-upgrade-base/run.yml | 5 +++++ 14 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 playbooks/kayobe-overcloud-upgrade-base/globals.yml.j2 create mode 100644 playbooks/kayobe-seed-base/globals.yml.j2 create mode 100644 playbooks/kayobe-seed-upgrade-base/globals.yml.j2 diff --git a/playbooks/kayobe-overcloud-base/globals.yml.j2 b/playbooks/kayobe-overcloud-base/globals.yml.j2 index e0903653..deacd817 100644 --- a/playbooks/kayobe-overcloud-base/globals.yml.j2 +++ b/playbooks/kayobe-overcloud-base/globals.yml.j2 @@ -1,4 +1,7 @@ --- +# Use HTTPS opendev quay.io registry proxy. +docker_registry_insecure: no + # Most development environments will use nested virtualisation, and we can't # guarantee that nested KVM support is available. Use QEMU as a lowest common # denominator. @@ -7,6 +10,7 @@ nova_compute_virt_type: qemu # Reduce the control plane's memory footprint by limiting the number of worker # processes to one per-service. openstack_service_workers: "1" +openstack_service_rpc_workers: "1" {% if tls_enabled %} # TLS diff --git a/playbooks/kayobe-overcloud-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-base/overrides.yml.j2 index 700370b7..e617dc2c 100644 --- a/playbooks/kayobe-overcloud-base/overrides.yml.j2 +++ b/playbooks/kayobe-overcloud-base/overrides.yml.j2 @@ -15,6 +15,9 @@ docker_registry_mirrors: kolla_base_distro: "{{ ansible_distribution | lower }}" kolla_install_type: "{{ 'source' if ansible_distribution == 'Ubuntu' else 'binary' }}" +kolla_docker_namespace: "openstack.kolla" +# use the published images from a site mirror of quay.io +kolla_docker_registry: "{{ zuul_site_mirror_fqdn }}:4447" kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['opendev.org/openstack/kolla'].checkout }}" kolla_ansible_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla-ansible'].src_dir }}" diff --git a/playbooks/kayobe-overcloud-base/pre.yml b/playbooks/kayobe-overcloud-base/pre.yml index 2a2276eb..2694c758 100644 --- a/playbooks/kayobe-overcloud-base/pre.yml +++ b/playbooks/kayobe-overcloud-base/pre.yml @@ -24,7 +24,6 @@ template: src: globals.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" - when: tls_enabled - name: Ensure kayobe is installed shell: diff --git a/playbooks/kayobe-overcloud-upgrade-base/globals.yml.j2 b/playbooks/kayobe-overcloud-upgrade-base/globals.yml.j2 new file mode 100644 index 00000000..8a00c306 --- /dev/null +++ b/playbooks/kayobe-overcloud-upgrade-base/globals.yml.j2 @@ -0,0 +1,16 @@ +--- +# Use HTTPS opendev quay.io registry proxy. +docker_registry_insecure: no + +# Most development environments will use nested virtualisation, and we can't +# guarantee that nested KVM support is available. Use QEMU as a lowest common +# denominator. +nova_compute_virt_type: qemu + +# Reduce the control plane's memory footprint by limiting the number of worker +# processes to one per-service. +openstack_service_workers: "1" +openstack_service_rpc_workers: "1" + +# TODO(priteau): Remove me once binary images with wallaby packages are available +nova_install_type: "source" diff --git a/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 index 40e43cb1..9d4d3266 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 +++ b/playbooks/kayobe-overcloud-upgrade-base/overrides.yml.j2 @@ -7,6 +7,9 @@ disable_selinux_do_reboot: false docker_registry_mirrors: - "http://{{ zuul_site_mirror_fqdn }}:8082/" +kolla_docker_namespace: "openstack.kolla" +# use the published images from a site mirror of quay.io +kolla_docker_registry: "{{ zuul_site_mirror_fqdn }}:4447" {% if not is_previous_release | default(false) %} kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['opendev.org/openstack/kolla'].checkout }}" diff --git a/playbooks/kayobe-overcloud-upgrade-base/pre.yml b/playbooks/kayobe-overcloud-upgrade-base/pre.yml index 021eaa4a..c04afe67 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/pre.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/pre.yml @@ -19,3 +19,8 @@ dest: "{{ previous_kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml" vars: is_previous_release: true + + - name: Ensure kolla-ansible globals.yml override config file exists + template: + src: globals.yml.j2 + dest: "{{ previous_kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" diff --git a/playbooks/kayobe-overcloud-upgrade-base/run.yml b/playbooks/kayobe-overcloud-upgrade-base/run.yml index 701d3526..eed568aa 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/run.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml @@ -50,6 +50,11 @@ src: overrides.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml" + - name: Ensure kolla-ansible globals.yml override config file exists + template: + src: globals.yml.j2 + dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" + # Perform a smoke test against the previous release. - block: diff --git a/playbooks/kayobe-seed-base/globals.yml.j2 b/playbooks/kayobe-seed-base/globals.yml.j2 new file mode 100644 index 00000000..82a51b60 --- /dev/null +++ b/playbooks/kayobe-seed-base/globals.yml.j2 @@ -0,0 +1,3 @@ +--- +# Use HTTPS opendev quay.io registry proxy. +docker_registry_insecure: no diff --git a/playbooks/kayobe-seed-base/overrides.yml.j2 b/playbooks/kayobe-seed-base/overrides.yml.j2 index 3103c2a3..4d0420f2 100644 --- a/playbooks/kayobe-seed-base/overrides.yml.j2 +++ b/playbooks/kayobe-seed-base/overrides.yml.j2 @@ -7,6 +7,9 @@ disable_selinux_do_reboot: false docker_registry_mirrors: - "http://{{ zuul_site_mirror_fqdn }}:8082/" +kolla_docker_namespace: "openstack.kolla" +# use the published images from a site mirror of quay.io +kolla_docker_registry: "{{ zuul_site_mirror_fqdn }}:4447" kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['opendev.org/openstack/kolla'].checkout }}" kolla_ansible_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla-ansible'].src_dir }}" diff --git a/playbooks/kayobe-seed-base/pre.yml b/playbooks/kayobe-seed-base/pre.yml index 08e2e628..8062ff5a 100644 --- a/playbooks/kayobe-seed-base/pre.yml +++ b/playbooks/kayobe-seed-base/pre.yml @@ -20,6 +20,11 @@ src: overrides.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml" + - name: Ensure kolla-ansible globals.yml override config file exists + template: + src: globals.yml.j2 + dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" + - name: Ensure bifrost overrides directory exists file: path: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/config/bifrost" diff --git a/playbooks/kayobe-seed-upgrade-base/globals.yml.j2 b/playbooks/kayobe-seed-upgrade-base/globals.yml.j2 new file mode 100644 index 00000000..82a51b60 --- /dev/null +++ b/playbooks/kayobe-seed-upgrade-base/globals.yml.j2 @@ -0,0 +1,3 @@ +--- +# Use HTTPS opendev quay.io registry proxy. +docker_registry_insecure: no diff --git a/playbooks/kayobe-seed-upgrade-base/overrides.yml.j2 b/playbooks/kayobe-seed-upgrade-base/overrides.yml.j2 index 8cd2d737..750a32a7 100644 --- a/playbooks/kayobe-seed-upgrade-base/overrides.yml.j2 +++ b/playbooks/kayobe-seed-upgrade-base/overrides.yml.j2 @@ -7,6 +7,9 @@ disable_selinux_do_reboot: false docker_registry_mirrors: - "http://{{ zuul_site_mirror_fqdn }}:8082/" +kolla_docker_namespace: "openstack.kolla" +# use the published images from a site mirror of quay.io +kolla_docker_registry: "{{ zuul_site_mirror_fqdn }}:4447" {% if not is_previous_release | default(false) %} kolla_source_url: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla'].src_dir }}" kolla_source_version: "{{ zuul.projects['opendev.org/openstack/kolla'].checkout }}" diff --git a/playbooks/kayobe-seed-upgrade-base/pre.yml b/playbooks/kayobe-seed-upgrade-base/pre.yml index 3987a024..43f1af60 100644 --- a/playbooks/kayobe-seed-upgrade-base/pre.yml +++ b/playbooks/kayobe-seed-upgrade-base/pre.yml @@ -20,6 +20,11 @@ vars: is_previous_release: true + - name: Ensure kolla-ansible globals.yml override config file exists + template: + src: globals.yml.j2 + dest: "{{ previous_kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" + - name: Ensure bifrost overrides directory exists file: path: "{{ previous_kayobe_config_src_dir }}/etc/kayobe/kolla/config/bifrost" diff --git a/playbooks/kayobe-seed-upgrade-base/run.yml b/playbooks/kayobe-seed-upgrade-base/run.yml index a2ce9f90..59696cfc 100644 --- a/playbooks/kayobe-seed-upgrade-base/run.yml +++ b/playbooks/kayobe-seed-upgrade-base/run.yml @@ -43,6 +43,11 @@ src: overrides.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml" + - name: Ensure kolla-ansible globals.yml override config file exists + template: + src: globals.yml.j2 + dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" + # TODO(mgoddard): Perform a smoke test against the previous release. - block: -- GitLab