diff --git a/playbooks/kayobe-overcloud-base/globals.yml.j2 b/playbooks/kayobe-overcloud-base/globals.yml.j2
index e0903653d5df4d1a905d3112dd8b882dc2e3835e..deacd8173d2c14f4f6a89a7e5ebafcac249252ab 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 700370b7b5c890147bb9caf4ef5b28ed11f50962..e617dc2c263e6a2ff41ce53cd007ca9ca9e2b5ba 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 2a2276eb3b39d20ab147099293346d23a8c58065..2694c7583a2ec81ccaaab0df8d85d757ec5bdc41 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 0000000000000000000000000000000000000000..8a00c3061721bd71f9caac4b91464af8fac2297d
--- /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 40e43cb1a6bcf59a7ea2cdba36db10c33d4876ac..9d4d32663fef2faacdd638a8b50989a37ed51405 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 021eaa4a389c9a17db3791ec5f18ce249202c957..c04afe67a0c28ac0ee2724ea0b3064de1434a9b3 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 701d352616988625ad1e0fb0a096acd89de6d45a..eed568aaaeb0e7ab0c7e1f58a982af8405e5ef9d 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 0000000000000000000000000000000000000000..82a51b601d32d0b56e85fb68d69d4828d7356f32
--- /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 3103c2a30f6aba69a2e196a370633991d3bb1bf9..4d0420f2488aa0e531fcc360cb22ecbf3a2c6cb2 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 08e2e6281d2567df148598463d713b42b71250ba..8062ff5a0f5387d2ea860ace4afd4dacfd938938 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 0000000000000000000000000000000000000000..82a51b601d32d0b56e85fb68d69d4828d7356f32
--- /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 8cd2d7376bbfb507954236fa3934b4bb0fb1e51d..750a32a71b9d12b11c1c4e4399fda987678c22bd 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 3987a0243405340c3feca62920813901d826cd9e..43f1af6053a3364106fa2d7edfb9586bcda14bfc 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 a2ce9f9057f0195784341a9f0cb0e56e4140a4fb..59696cfce510bd5bd265c6b0cc737e42d1f58f04 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: