From 718aa3805bef1d7d12d61bedc1a84ed2c8edb02f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Andr=C3=A9?= <m.andre@redhat.com>
Date: Tue, 19 Dec 2017 14:48:52 +0100
Subject: [PATCH] Install additional packages using kolla mechanism

The RUN instruction that installed yum packages was missing the "yum
cleanup" to remove yum cache, causing image size to grow. Use kolla's
packages_append mechanism instead to saves us the trouble of cleaning
up after ourselves, and also ensuring the package installs are
happening in one single yum install call. This results in quicker
builds since we don't have to re-sync repos each time.

Change-Id: I3b9bff1eaf6ac4c59aa28e636dc96da71151bff1
Closes-Bug: #1739025
---
 .../tripleo_kolla_template_overrides.j2       | 42 +++++++++++--------
 1 file changed, 24 insertions(+), 18 deletions(-)

diff --git a/container-images/tripleo_kolla_template_overrides.j2 b/container-images/tripleo_kolla_template_overrides.j2
index 0b5f46a2f..f68d8d88f 100644
--- a/container-images/tripleo_kolla_template_overrides.j2
+++ b/container-images/tripleo_kolla_template_overrides.j2
@@ -84,7 +84,8 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
 
 # NOTE (jaosorior): redis with TLS everywhere needs these packages.
 # redis resource-agent requires pidof
-{% set redis_packages_append = ['stunnel', 'sysvinit-tools'] %}
+{% set redis_packages_append = ['stunnel', 'sysvinit-tools',
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 
 # Remove packages not present in repos
 #
@@ -116,7 +117,8 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
 {% set sensu_client_packages_remove = [
     'MariaDB-client',
 ] %}
-{% set mariadb_packages_append = ['mariadb-server', 'mariadb-server-galera', 'xinetd'] %}
+{% set mariadb_packages_append = ['mariadb-server', 'mariadb-server-galera', 'xinetd',
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% set sensu_client_packages_append = ['mariadb-server', 'mariadb-server-galera'] %}
 
 # Required for nova migration
@@ -161,10 +163,10 @@ RUN mkdir -p /openstack && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
+{% set cinder_backup_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block cinder_backup_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
-
-RUN mkdir -p /openstack && \
+RUN mkdir -p /etc/libqb /openstack && \
     ln -s /usr/share/openstack-tripleo-common/healthcheck/cinder-backup /openstack/healthcheck && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
@@ -175,10 +177,10 @@ RUN mkdir -p /openstack && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
+{% set cinder_volume_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block cinder_volume_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
-
-RUN mkdir -p /openstack && \
+RUN mkdir -p /etc/libqb /openstack && \
     ln -s /usr/share/openstack-tripleo-common/healthcheck/cinder-volume /openstack/healthcheck && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
@@ -210,8 +212,10 @@ RUN mkdir -p /openstack && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
+{% set haproxy_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block haproxy_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
+RUN mkdir /etc/libqb
 {% endblock %}
 
 {% block ironic_api_footer %}
@@ -244,17 +248,17 @@ RUN mkdir -p /openstack && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
+{% set manila_share_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block manila_share_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
+RUN mkdir /etc/libqb
 {% endblock %}
 
 {% block mariadb_footer %}
 # We'll configure mariadb with galera.cnf
 RUN rm /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/auth_gssapi.cnf
 
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
-
-RUN mkdir -p /openstack && \
+RUN mkdir -p /etc/libqb /openstack && \
     ln -s /usr/share/openstack-tripleo-common/healthcheck/mariadb /openstack/healthcheck && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
@@ -361,16 +365,16 @@ RUN mkdir -p /openstack && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
+{% set rabbitmq_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block rabbitmq_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
-
-RUN mkdir -p /openstack && \
+RUN mkdir -p /etc/libqb /openstack && \
     ln -s /usr/share/openstack-tripleo-common/healthcheck/rabbitmq /openstack/healthcheck && \
     chmod a+rx /openstack/healthcheck
 {% endblock %}
 
 {% block redis_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
+RUN mkdir /etc/libqb
 {% endblock %}
 
 {% block sahara_engine_footer %}
@@ -412,8 +416,10 @@ RUN mkdir -p /openstack && \
     echo "if [[ "\$\(whoami\)" == 'root' ]]; then rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*; fi" >> /usr/local/bin/kolla_extend_start
 {% endblock %}
 
+{% set ovn_northd_packages_append = [
+    'pacemaker', 'pacemaker-remote', 'pcs', 'libqb', 'resource-agents'] %}
 {% block ovn_northd_footer %}
-RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb
+RUN mkdir /etc/libqb
 {% endblock %}
 
 {% block ovn_metadata_agent_footer %}