From b8abf706d4d8a40f09e7e8c343710bbf4d5404d9 Mon Sep 17 00:00:00 2001
From: Mark Goddard <mark@stackhpc.com>
Date: Thu, 30 Sep 2021 09:09:01 +0100
Subject: [PATCH] Build and deploy source type images by default

Source images get the most test coverage, so it makes sense to build and
deploy these by default.

Change-Id: I297b83985b09e888c5ee64c1a39f8a1dfcacc5c1
---
 ansible/group_vars/all/kolla                       |  2 +-
 .../configuration/reference/kolla-ansible.rst      |  2 +-
 doc/source/configuration/reference/kolla.rst       |  2 +-
 etc/kayobe/kolla.yml                               |  2 +-
 playbooks/kayobe-overcloud-base/overrides.yml.j2   |  1 -
 .../default-source-type-b379b0f1562537dd.yaml      | 14 ++++++++++++++
 6 files changed, 18 insertions(+), 5 deletions(-)
 create mode 100644 releasenotes/notes/default-source-type-b379b0f1562537dd.yaml

diff --git a/ansible/group_vars/all/kolla b/ansible/group_vars/all/kolla
index 2d1e27c6..56ce7319 100644
--- a/ansible/group_vars/all/kolla
+++ b/ansible/group_vars/all/kolla
@@ -57,7 +57,7 @@ kolla_node_custom_config_path: "{{ kolla_config_path }}/config"
 kolla_base_distro: "{{ os_distribution }}"
 
 # Kolla container image type: binary or source.
-kolla_install_type: "binary"
+kolla_install_type: "source"
 
 # Docker namespace to use for Kolla images.
 kolla_docker_namespace: "kolla"
diff --git a/doc/source/configuration/reference/kolla-ansible.rst b/doc/source/configuration/reference/kolla-ansible.rst
index 11fd0c11..95106294 100644
--- a/doc/source/configuration/reference/kolla-ansible.rst
+++ b/doc/source/configuration/reference/kolla-ansible.rst
@@ -116,7 +116,7 @@ accessed.
     Kolla base container image distribution. Default is ``centos``.
 ``kolla_install_type``
     Kolla container image type: ``binary`` or ``source``. Default is
-    ``binary``.
+    ``source``.
 ``kolla_docker_registry``
     URL of docker registry to use for Kolla images. Default is not set, in
     which case Dockerhub will be used.
diff --git a/doc/source/configuration/reference/kolla.rst b/doc/source/configuration/reference/kolla.rst
index fa3b20bb..5a35196c 100644
--- a/doc/source/configuration/reference/kolla.rst
+++ b/doc/source/configuration/reference/kolla.rst
@@ -77,7 +77,7 @@ affect :ref:`Kolla Ansible configuration <configuration-kolla-ansible-global>`.
     ``debian``, or ``ubuntu``. Default is ``{{ os_distribution }}``.
 ``kolla_install_type``
     Kolla container image type: ``binary`` or ``source``. Default is
-    ``binary``.
+    ``source``.
 ``kolla_docker_namespace``
     Docker namespace to use for Kolla images. Default is ``kolla``.
 ``kolla_docker_registry``
diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml
index b43a3b90..30276997 100644
--- a/etc/kayobe/kolla.yml
+++ b/etc/kayobe/kolla.yml
@@ -65,7 +65,7 @@
 # "ubuntu". Default is {{ os_distribution }}.
 #kolla_base_distro:
 
-# Kolla container image type: binary or source. Default is 'binary'.
+# Kolla container image type: binary or source. Default is 'source'.
 #kolla_install_type:
 
 # URL of docker registry to use for Kolla images. Default is not set, in which
diff --git a/playbooks/kayobe-overcloud-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-base/overrides.yml.j2
index babbf2c8..1980c2bd 100644
--- a/playbooks/kayobe-overcloud-base/overrides.yml.j2
+++ b/playbooks/kayobe-overcloud-base/overrides.yml.j2
@@ -7,7 +7,6 @@ disable_selinux_do_reboot: false
 docker_registry_mirrors:
   - "http://{{ zuul_site_mirror_fqdn }}:8082/"
 
-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"
diff --git a/releasenotes/notes/default-source-type-b379b0f1562537dd.yaml b/releasenotes/notes/default-source-type-b379b0f1562537dd.yaml
new file mode 100644
index 00000000..5f017466
--- /dev/null
+++ b/releasenotes/notes/default-source-type-b379b0f1562537dd.yaml
@@ -0,0 +1,14 @@
+---
+upgrade:
+  - |
+    Updates the default image type to ``source``. Users wishing to build and
+    deploy ``binary`` type images should set ``kolla_install_type`` to
+    ``binary`` in ``kolla.yml``. This change is to reflect the reality that
+    source images are tested more thoroughly and we (as OpenStack community)
+    have better control over them.
+issues:
+  - |
+    Switching an existing deployment from ``binary`` to ``source`` images can
+    break Horizon, which can be resolved by flushing contents of ``memcached``
+    with ``docker restart memcached``. See `Kolla Ansible bug 1886549
+    <https://bugs.launchpad.net/kolla-ansible/+bug/1886549>`__ for details.
-- 
GitLab