From 0e99b69de48c1deb7f6f1f707e78f445caa5c3d0 Mon Sep 17 00:00:00 2001
From: Steven Dake <stdake@cisco.com>
Date: Thu, 17 Sep 2015 09:35:33 -0700
Subject: [PATCH] Implement a install_type and install_metatype

This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.

Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
---
 docker/base/Dockerfile.j2                     |  1 +
 .../ceilometer/ceilometer-alarm/Dockerfile.j2 |  2 +-
 .../ceilometer/ceilometer-api/Dockerfile.j2   |  2 +-
 .../ceilometer/ceilometer-base/Dockerfile.j2  |  2 +-
 .../ceilometer-central/Dockerfile.j2          |  2 +-
 .../ceilometer-collector/Dockerfile.j2        |  2 +-
 .../ceilometer-compute/Dockerfile.j2          |  2 +-
 .../ceilometer-notification/Dockerfile.j2     |  2 +-
 docker/ceph/ceph-base/Dockerfile.j2           |  2 +-
 docker/ceph/ceph-mon/Dockerfile.j2            |  2 +-
 docker/ceph/ceph-osd/Dockerfile.j2            |  2 +-
 docker/cinder/cinder-api/Dockerfile.j2        |  2 +-
 docker/cinder/cinder-backup/Dockerfile.j2     |  2 +-
 docker/cinder/cinder-base/Dockerfile.j2       |  2 +-
 docker/cinder/cinder-scheduler/Dockerfile.j2  |  2 +-
 docker/cinder/cinder-volume/Dockerfile.j2     |  2 +-
 docker/designate/designate-api/Dockerfile.j2  |  2 +-
 .../designate-backend-bind9/Dockerfile.j2     |  2 +-
 docker/designate/designate-base/Dockerfile.j2 |  2 +-
 .../designate/designate-central/Dockerfile.j2 |  2 +-
 docker/designate/designate-mdns/Dockerfile.j2 |  2 +-
 .../designate-poolmanager/Dockerfile.j2       |  2 +-
 docker/designate/designate-sink/Dockerfile.j2 |  2 +-
 docker/glance/glance-api/Dockerfile.j2        |  2 +-
 docker/glance/glance-base/Dockerfile.j2       |  2 +-
 docker/glance/glance-registry/Dockerfile.j2   |  2 +-
 docker/gnocchi/gnocchi-api/Dockerfile.j2      |  2 +-
 docker/gnocchi/gnocchi-base/Dockerfile.j2     |  2 +-
 docker/gnocchi/gnocchi-statsd/Dockerfile.j2   |  2 +-
 docker/haproxy/Dockerfile.j2                  |  2 +-
 docker/heat/heat-api-cfn/Dockerfile.j2        |  2 +-
 docker/heat/heat-api/Dockerfile.j2            |  2 +-
 docker/heat/heat-base/Dockerfile.j2           |  2 +-
 docker/heat/heat-engine/Dockerfile.j2         |  2 +-
 docker/horizon/Dockerfile.j2                  |  2 +-
 docker/ironic/ironic-api/Dockerfile.j2        |  2 +-
 docker/ironic/ironic-base/Dockerfile.j2       |  2 +-
 docker/ironic/ironic-conductor/Dockerfile.j2  |  2 +-
 docker/ironic/ironic-discoverd/Dockerfile.j2  |  2 +-
 docker/keepalived/Dockerfile.j2               |  2 +-
 docker/keystone/Dockerfile.j2                 |  2 +-
 docker/kolla-ansible/Dockerfile.j2            |  2 +-
 docker/logging/rsyslog/Dockerfile.j2          |  2 +-
 docker/magnum/magnum-api/Dockerfile.j2        |  2 +-
 docker/magnum/magnum-base/Dockerfile.j2       |  2 +-
 docker/magnum/magnum-conductor/Dockerfile.j2  |  2 +-
 docker/mariadb/Dockerfile.j2                  |  2 +-
 docker/memcached/Dockerfile.j2                |  2 +-
 docker/mongodb/Dockerfile.j2                  |  2 +-
 docker/murano/murano-api/Dockerfile.j2        |  2 +-
 docker/murano/murano-base/Dockerfile.j2       |  2 +-
 docker/murano/murano-engine/Dockerfile.j2     |  2 +-
 docker/neutron/neutron-agents/Dockerfile.j2   |  2 +-
 docker/neutron/neutron-base/Dockerfile.j2     |  2 +-
 .../neutron-linuxbridge-agent/Dockerfile.j2   |  2 +-
 .../neutron-openvswitch-agent/Dockerfile.j2   |  2 +-
 docker/neutron/neutron-server/Dockerfile.j2   |  2 +-
 docker/nova/nova-api/Dockerfile.j2            |  2 +-
 docker/nova/nova-base/Dockerfile.j2           |  2 +-
 docker/nova/nova-compute/Dockerfile.j2        |  2 +-
 docker/nova/nova-conductor/Dockerfile.j2      |  2 +-
 docker/nova/nova-consoleauth/Dockerfile.j2    |  2 +-
 docker/nova/nova-libvirt/Dockerfile.j2        |  2 +-
 docker/nova/nova-network/Dockerfile.j2        |  2 +-
 docker/nova/nova-novncproxy/Dockerfile.j2     |  2 +-
 docker/nova/nova-scheduler/Dockerfile.j2      |  2 +-
 docker/openstack-base/Dockerfile.j2           |  2 +-
 docker/openvswitch/ovs-base/Dockerfile.j2     |  2 +-
 .../openvswitch/ovs-db-server/Dockerfile.j2   |  2 +-
 docker/openvswitch/ovs-vswitchd/Dockerfile.j2 |  2 +-
 docker/rabbitmq/Dockerfile.j2                 |  2 +-
 .../swift/swift-account-auditor/Dockerfile.j2 |  2 +-
 .../swift/swift-account-reaper/Dockerfile.j2  |  2 +-
 .../swift-account-replicator/Dockerfile.j2    |  2 +-
 .../swift/swift-account-server/Dockerfile.j2  |  2 +-
 docker/swift/swift-base/Dockerfile.j2         |  2 +-
 .../swift-container-auditor/Dockerfile.j2     |  2 +-
 .../swift-container-replicator/Dockerfile.j2  |  2 +-
 .../swift-container-server/Dockerfile.j2      |  2 +-
 .../swift-container-updater/Dockerfile.j2     |  2 +-
 .../swift/swift-object-auditor/Dockerfile.j2  |  2 +-
 docker/swift/swift-object-base/Dockerfile.j2  |  2 +-
 .../swift/swift-object-expirer/Dockerfile.j2  |  2 +-
 .../swift-object-replicator/Dockerfile.j2     |  2 +-
 .../swift/swift-object-server/Dockerfile.j2   |  2 +-
 .../swift/swift-object-updater/Dockerfile.j2  |  2 +-
 docker/swift/swift-proxy-server/Dockerfile.j2 |  2 +-
 docker/swift/swift-rsyncd/Dockerfile.j2       |  2 +-
 docker/zaqar/Dockerfile.j2                    |  2 +-
 kolla/cmd/build.py                            | 29 ++++++++++++++-----
 90 files changed, 110 insertions(+), 96 deletions(-)

diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index 362387247..7c7263d6d 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -28,6 +28,7 @@ RUN echo 'ERROR: The specified distro has no Kolla images to build: "{{ base_dis
 
 ENV KOLLA_BASE_DISTRO {{ base_distro }}
 ENV KOLLA_INSTALL_TYPE {{ install_type }}
+ENV KOLLA_INSTALL_METATYPE {{ install_metatype }}
 
 {% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
 
diff --git a/docker/ceilometer/ceilometer-alarm/Dockerfile.j2 b/docker/ceilometer/ceilometer-alarm/Dockerfile.j2
index b7fcc7fc2..f720ee15d 100644
--- a/docker/ceilometer/ceilometer-alarm/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-alarm/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-api/Dockerfile.j2 b/docker/ceilometer/ceilometer-api/Dockerfile.j2
index 9316ac5c5..7470a9026 100644
--- a/docker/ceilometer/ceilometer-api/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/docker/ceilometer/ceilometer-base/Dockerfile.j2
index 43c399a8d..315a218f5 100644
--- a/docker/ceilometer/ceilometer-base/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'source' %}
diff --git a/docker/ceilometer/ceilometer-central/Dockerfile.j2 b/docker/ceilometer/ceilometer-central/Dockerfile.j2
index 0d7ee7147..3b2e9a2c0 100644
--- a/docker/ceilometer/ceilometer-central/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-central/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-collector/Dockerfile.j2 b/docker/ceilometer/ceilometer-collector/Dockerfile.j2
index ec6ccbce9..c5cf80d45 100644
--- a/docker/ceilometer/ceilometer-collector/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-collector/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
index 60b18b973..dd6bc62af 100644
--- a/docker/ceilometer/ceilometer-compute/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-notification/Dockerfile.j2 b/docker/ceilometer/ceilometer-notification/Dockerfile.j2
index bc6b30ffe..571166443 100644
--- a/docker/ceilometer/ceilometer-notification/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-notification/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceilometer-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ceph/ceph-base/Dockerfile.j2 b/docker/ceph/ceph-base/Dockerfile.j2
index 363346bce..95e5bca75 100644
--- a/docker/ceph/ceph-base/Dockerfile.j2
+++ b/docker/ceph/ceph-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/ceph/ceph-mon/Dockerfile.j2 b/docker/ceph/ceph-mon/Dockerfile.j2
index 3f3d32a75..57d31e819 100644
--- a/docker/ceph/ceph-mon/Dockerfile.j2
+++ b/docker/ceph/ceph-mon/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceph-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceph-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/ceph/ceph-osd/Dockerfile.j2 b/docker/ceph/ceph-osd/Dockerfile.j2
index 5e1eacc40..ac453ce88 100644
--- a/docker/ceph/ceph-osd/Dockerfile.j2
+++ b/docker/ceph/ceph-osd/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ceph-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ceph-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/docker/cinder/cinder-api/Dockerfile.j2
index 8e3185bf4..4c481a45f 100644
--- a/docker/cinder/cinder-api/Dockerfile.j2
+++ b/docker/cinder/cinder-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-cinder-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2
index 7077d7250..14794b053 100644
--- a/docker/cinder/cinder-backup/Dockerfile.j2
+++ b/docker/cinder/cinder-backup/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-cinder-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY ./start.sh /
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
index 1e2553f79..767f7bd5b 100644
--- a/docker/cinder/cinder-base/Dockerfile.j2
+++ b/docker/cinder/cinder-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/docker/cinder/cinder-scheduler/Dockerfile.j2
index 7077d7250..14794b053 100644
--- a/docker/cinder/cinder-scheduler/Dockerfile.j2
+++ b/docker/cinder/cinder-scheduler/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-cinder-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY ./start.sh /
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2
index 4186289dc..4eda4b981 100644
--- a/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/docker/cinder/cinder-volume/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-cinder-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-api/Dockerfile.j2 b/docker/designate/designate-api/Dockerfile.j2
index 1e2e28e8f..f0b8ea6cf 100644
--- a/docker/designate/designate-api/Dockerfile.j2
+++ b/docker/designate/designate-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-backend-bind9/Dockerfile.j2 b/docker/designate/designate-backend-bind9/Dockerfile.j2
index 3b47ff72e..f163c7b98 100644
--- a/docker/designate/designate-backend-bind9/Dockerfile.j2
+++ b/docker/designate/designate-backend-bind9/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-base/Dockerfile.j2 b/docker/designate/designate-base/Dockerfile.j2
index b12fa013b..09ddb4e75 100644
--- a/docker/designate/designate-base/Dockerfile.j2
+++ b/docker/designate/designate-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-central/Dockerfile.j2 b/docker/designate/designate-central/Dockerfile.j2
index 3c4309999..01ddbbfd0 100644
--- a/docker/designate/designate-central/Dockerfile.j2
+++ b/docker/designate/designate-central/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-mdns/Dockerfile.j2 b/docker/designate/designate-mdns/Dockerfile.j2
index 49d7fa781..fdb2d0c1d 100644
--- a/docker/designate/designate-mdns/Dockerfile.j2
+++ b/docker/designate/designate-mdns/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-poolmanager/Dockerfile.j2 b/docker/designate/designate-poolmanager/Dockerfile.j2
index 35f99c2bf..1d8df60ad 100644
--- a/docker/designate/designate-poolmanager/Dockerfile.j2
+++ b/docker/designate/designate-poolmanager/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/designate/designate-sink/Dockerfile.j2 b/docker/designate/designate-sink/Dockerfile.j2
index 1d52a282b..bc4fa45c9 100644
--- a/docker/designate/designate-sink/Dockerfile.j2
+++ b/docker/designate/designate-sink/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/glance/glance-api/Dockerfile.j2 b/docker/glance/glance-api/Dockerfile.j2
index 2401a870a..c0bdc14e8 100644
--- a/docker/glance/glance-api/Dockerfile.j2
+++ b/docker/glance/glance-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-glance-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}glance-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2
index cc628b883..bf079c528 100644
--- a/docker/glance/glance-base/Dockerfile.j2
+++ b/docker/glance/glance-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/glance/glance-registry/Dockerfile.j2 b/docker/glance/glance-registry/Dockerfile.j2
index 2401a870a..c0bdc14e8 100644
--- a/docker/glance/glance-registry/Dockerfile.j2
+++ b/docker/glance/glance-registry/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-glance-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}glance-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/gnocchi/gnocchi-api/Dockerfile.j2 b/docker/gnocchi/gnocchi-api/Dockerfile.j2
index 495e32f96..b9479c1d7 100644
--- a/docker/gnocchi/gnocchi-api/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-gnocchi-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/gnocchi/gnocchi-base/Dockerfile.j2 b/docker/gnocchi/gnocchi-base/Dockerfile.j2
index 343f239bf..745e8355a 100644
--- a/docker/gnocchi/gnocchi-base/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 b/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
index 9f4082981..b9fd0a52e 100644
--- a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-gnocchi-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/haproxy/Dockerfile.j2 b/docker/haproxy/Dockerfile.j2
index a98738bfd..fe02ce804 100644
--- a/docker/haproxy/Dockerfile.j2
+++ b/docker/haproxy/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/heat/heat-api-cfn/Dockerfile.j2 b/docker/heat/heat-api-cfn/Dockerfile.j2
index 7e8701eda..7b4cb7d68 100644
--- a/docker/heat/heat-api-cfn/Dockerfile.j2
+++ b/docker/heat/heat-api-cfn/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-heat-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/heat/heat-api/Dockerfile.j2 b/docker/heat/heat-api/Dockerfile.j2
index 48bbda15d..19eb89777 100644
--- a/docker/heat/heat-api/Dockerfile.j2
+++ b/docker/heat/heat-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-heat-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/heat/heat-base/Dockerfile.j2 b/docker/heat/heat-base/Dockerfile.j2
index 0bbf3a53c..00ca07f3b 100644
--- a/docker/heat/heat-base/Dockerfile.j2
+++ b/docker/heat/heat-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/heat/heat-engine/Dockerfile.j2 b/docker/heat/heat-engine/Dockerfile.j2
index 495d2b375..3759788d1 100644
--- a/docker/heat/heat-engine/Dockerfile.j2
+++ b/docker/heat/heat-engine/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-heat-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/horizon/Dockerfile.j2 b/docker/horizon/Dockerfile.j2
index 790bef89d..427dd5965 100644
--- a/docker/horizon/Dockerfile.j2
+++ b/docker/horizon/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-api/Dockerfile.j2 b/docker/ironic/ironic-api/Dockerfile.j2
index e628c9ffc..112ff8b2d 100644
--- a/docker/ironic/ironic-api/Dockerfile.j2
+++ b/docker/ironic/ironic-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ironic-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-base/Dockerfile.j2 b/docker/ironic/ironic-base/Dockerfile.j2
index cf6b53b7d..2f8207c0e 100644
--- a/docker/ironic/ironic-base/Dockerfile.j2
+++ b/docker/ironic/ironic-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2
index 992a2cb8b..f62f7b7a0 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ironic-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-discoverd/Dockerfile.j2 b/docker/ironic/ironic-discoverd/Dockerfile.j2
index 799d70e78..1843cb24c 100644
--- a/docker/ironic/ironic-discoverd/Dockerfile.j2
+++ b/docker/ironic/ironic-discoverd/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ironic-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/keepalived/Dockerfile.j2 b/docker/keepalived/Dockerfile.j2
index 039731347..9fbc7c49a 100644
--- a/docker/keepalived/Dockerfile.j2
+++ b/docker/keepalived/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/keystone/Dockerfile.j2 b/docker/keystone/Dockerfile.j2
index 067f16b89..115f537a2 100644
--- a/docker/keystone/Dockerfile.j2
+++ b/docker/keystone/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/kolla-ansible/Dockerfile.j2 b/docker/kolla-ansible/Dockerfile.j2
index 40020107d..1e8c10c77 100644
--- a/docker/kolla-ansible/Dockerfile.j2
+++ b/docker/kolla-ansible/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/logging/rsyslog/Dockerfile.j2 b/docker/logging/rsyslog/Dockerfile.j2
index 4ea34df4d..521968f13 100755
--- a/docker/logging/rsyslog/Dockerfile.j2
+++ b/docker/logging/rsyslog/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/magnum/magnum-api/Dockerfile.j2 b/docker/magnum/magnum-api/Dockerfile.j2
index cb49ec7fa..81d44e69f 100644
--- a/docker/magnum/magnum-api/Dockerfile.j2
+++ b/docker/magnum/magnum-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-magnum-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}magnum-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/magnum/magnum-base/Dockerfile.j2 b/docker/magnum/magnum-base/Dockerfile.j2
index dc16cb447..de0dab422 100644
--- a/docker/magnum/magnum-base/Dockerfile.j2
+++ b/docker/magnum/magnum-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/magnum/magnum-conductor/Dockerfile.j2 b/docker/magnum/magnum-conductor/Dockerfile.j2
index 02b1f42aa..bfd9ca32d 100644
--- a/docker/magnum/magnum-conductor/Dockerfile.j2
+++ b/docker/magnum/magnum-conductor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-magnum-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}magnum-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2
index c966dcb2d..1cfae7798 100644
--- a/docker/mariadb/Dockerfile.j2
+++ b/docker/mariadb/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/memcached/Dockerfile.j2 b/docker/memcached/Dockerfile.j2
index 9d2b99878..88baa5010 100644
--- a/docker/memcached/Dockerfile.j2
+++ b/docker/memcached/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/mongodb/Dockerfile.j2 b/docker/mongodb/Dockerfile.j2
index 13bc6ed02..f7662ae49 100644
--- a/docker/mongodb/Dockerfile.j2
+++ b/docker/mongodb/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/murano/murano-api/Dockerfile.j2 b/docker/murano/murano-api/Dockerfile.j2
index 6d69206e4..e6b68b1c7 100644
--- a/docker/murano/murano-api/Dockerfile.j2
+++ b/docker/murano/murano-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-murano-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}murano-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/murano/murano-base/Dockerfile.j2 b/docker/murano/murano-base/Dockerfile.j2
index a05eb6fb8..8fab1a4d4 100644
--- a/docker/murano/murano-base/Dockerfile.j2
+++ b/docker/murano/murano-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'source' %}
diff --git a/docker/murano/murano-engine/Dockerfile.j2 b/docker/murano/murano-engine/Dockerfile.j2
index 6d69206e4..e6b68b1c7 100644
--- a/docker/murano/murano-engine/Dockerfile.j2
+++ b/docker/murano/murano-engine/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-murano-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}murano-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/neutron/neutron-agents/Dockerfile.j2 b/docker/neutron/neutron-agents/Dockerfile.j2
index 58d2b6d05..7eb1a1152 100644
--- a/docker/neutron/neutron-agents/Dockerfile.j2
+++ b/docker/neutron/neutron-agents/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-neutron-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 826a0788e..8560d72d5 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
index 20f502f18..360afc4d1 100644
--- a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-neutron-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
index 6911afb94..b6e797b0c 100644
--- a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-neutron-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-server/Dockerfile.j2 b/docker/neutron/neutron-server/Dockerfile.j2
index 1b3f49650..12a9b2df7 100644
--- a/docker/neutron/neutron-server/Dockerfile.j2
+++ b/docker/neutron/neutron-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-neutron-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-api/Dockerfile.j2 b/docker/nova/nova-api/Dockerfile.j2
index 82bec4fea..e0d7a0db0 100644
--- a/docker/nova/nova-api/Dockerfile.j2
+++ b/docker/nova/nova-api/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-base/Dockerfile.j2 b/docker/nova/nova-base/Dockerfile.j2
index 8032090aa..1572e7802 100644
--- a/docker/nova/nova-base/Dockerfile.j2
+++ b/docker/nova/nova-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index 26890dd66..428219cec 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-conductor/Dockerfile.j2 b/docker/nova/nova-conductor/Dockerfile.j2
index b3248c8f5..8b75626cd 100644
--- a/docker/nova/nova-conductor/Dockerfile.j2
+++ b/docker/nova/nova-conductor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-consoleauth/Dockerfile.j2 b/docker/nova/nova-consoleauth/Dockerfile.j2
index cdc7c1fa7..b6b0e3da8 100644
--- a/docker/nova/nova-consoleauth/Dockerfile.j2
+++ b/docker/nova/nova-consoleauth/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index f296eb55c..28be92470 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/nova/nova-network/Dockerfile.j2 b/docker/nova/nova-network/Dockerfile.j2
index 977f12a1d..2ebba6830 100644
--- a/docker/nova/nova-network/Dockerfile.j2
+++ b/docker/nova/nova-network/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-novncproxy/Dockerfile.j2 b/docker/nova/nova-novncproxy/Dockerfile.j2
index 5f125ecf5..3a1e69bc8 100644
--- a/docker/nova/nova-novncproxy/Dockerfile.j2
+++ b/docker/nova/nova-novncproxy/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/nova/nova-scheduler/Dockerfile.j2 b/docker/nova/nova-scheduler/Dockerfile.j2
index 6d2584cf2..887b0bf6b 100644
--- a/docker/nova/nova-scheduler/Dockerfile.j2
+++ b/docker/nova/nova-scheduler/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2
index 4fce55e36..893014088 100644
--- a/docker/openstack-base/Dockerfile.j2
+++ b/docker/openstack-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'source' %}
diff --git a/docker/openvswitch/ovs-base/Dockerfile.j2 b/docker/openvswitch/ovs-base/Dockerfile.j2
index 05e5b1892..7ededdfcd 100644
--- a/docker/openvswitch/ovs-base/Dockerfile.j2
+++ b/docker/openvswitch/ovs-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/openvswitch/ovs-db-server/Dockerfile.j2 b/docker/openvswitch/ovs-db-server/Dockerfile.j2
index bec5a8f12..cca030e35 100644
--- a/docker/openvswitch/ovs-db-server/Dockerfile.j2
+++ b/docker/openvswitch/ovs-db-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ovs-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ovs-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/openvswitch/ovs-vswitchd/Dockerfile.j2 b/docker/openvswitch/ovs-vswitchd/Dockerfile.j2
index 14b3d08a9..839da1f21 100644
--- a/docker/openvswitch/ovs-vswitchd/Dockerfile.j2
+++ b/docker/openvswitch/ovs-vswitchd/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-ovs-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}ovs-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 COPY start.sh /
diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2
index 010c143c8..1d6db3e13 100644
--- a/docker/rabbitmq/Dockerfile.j2
+++ b/docker/rabbitmq/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/swift/swift-account-auditor/Dockerfile.j2 b/docker/swift/swift-account-auditor/Dockerfile.j2
index 5570b0d22..a8ffc48ae 100644
--- a/docker/swift/swift-account-auditor/Dockerfile.j2
+++ b/docker/swift/swift-account-auditor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-account-reaper/Dockerfile.j2 b/docker/swift/swift-account-reaper/Dockerfile.j2
index 5570b0d22..a8ffc48ae 100644
--- a/docker/swift/swift-account-reaper/Dockerfile.j2
+++ b/docker/swift/swift-account-reaper/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-account-replicator/Dockerfile.j2 b/docker/swift/swift-account-replicator/Dockerfile.j2
index 5570b0d22..a8ffc48ae 100644
--- a/docker/swift/swift-account-replicator/Dockerfile.j2
+++ b/docker/swift/swift-account-replicator/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-account-server/Dockerfile.j2 b/docker/swift/swift-account-server/Dockerfile.j2
index 7273c60a1..dc4c56bfc 100644
--- a/docker/swift/swift-account-server/Dockerfile.j2
+++ b/docker/swift/swift-account-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-base/Dockerfile.j2 b/docker/swift/swift-base/Dockerfile.j2
index df1ed30c9..8a9747d2a 100644
--- a/docker/swift/swift-base/Dockerfile.j2
+++ b/docker/swift/swift-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-container-auditor/Dockerfile.j2 b/docker/swift/swift-container-auditor/Dockerfile.j2
index ae798eebb..7e7b6632b 100644
--- a/docker/swift/swift-container-auditor/Dockerfile.j2
+++ b/docker/swift/swift-container-auditor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-container-replicator/Dockerfile.j2 b/docker/swift/swift-container-replicator/Dockerfile.j2
index ae798eebb..7e7b6632b 100644
--- a/docker/swift/swift-container-replicator/Dockerfile.j2
+++ b/docker/swift/swift-container-replicator/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-container-server/Dockerfile.j2 b/docker/swift/swift-container-server/Dockerfile.j2
index 2c7050876..47ca202f3 100644
--- a/docker/swift/swift-container-server/Dockerfile.j2
+++ b/docker/swift/swift-container-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-container-updater/Dockerfile.j2 b/docker/swift/swift-container-updater/Dockerfile.j2
index ae798eebb..7e7b6632b 100644
--- a/docker/swift/swift-container-updater/Dockerfile.j2
+++ b/docker/swift/swift-container-updater/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-object-auditor/Dockerfile.j2 b/docker/swift/swift-object-auditor/Dockerfile.j2
index 1bb481f7a..247b5e078 100644
--- a/docker/swift/swift-object-auditor/Dockerfile.j2
+++ b/docker/swift/swift-object-auditor/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-object-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 COPY start.sh /
diff --git a/docker/swift/swift-object-base/Dockerfile.j2 b/docker/swift/swift-object-base/Dockerfile.j2
index cd5689177..5479ac2e8 100644
--- a/docker/swift/swift-object-base/Dockerfile.j2
+++ b/docker/swift/swift-object-base/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-object-expirer/Dockerfile.j2 b/docker/swift/swift-object-expirer/Dockerfile.j2
index 422401450..7682df365 100644
--- a/docker/swift/swift-object-expirer/Dockerfile.j2
+++ b/docker/swift/swift-object-expirer/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-object-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-object-replicator/Dockerfile.j2 b/docker/swift/swift-object-replicator/Dockerfile.j2
index 1bb481f7a..247b5e078 100644
--- a/docker/swift/swift-object-replicator/Dockerfile.j2
+++ b/docker/swift/swift-object-replicator/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-object-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 COPY start.sh /
diff --git a/docker/swift/swift-object-server/Dockerfile.j2 b/docker/swift/swift-object-server/Dockerfile.j2
index 1bb481f7a..247b5e078 100644
--- a/docker/swift/swift-object-server/Dockerfile.j2
+++ b/docker/swift/swift-object-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-object-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 COPY start.sh /
diff --git a/docker/swift/swift-object-updater/Dockerfile.j2 b/docker/swift/swift-object-updater/Dockerfile.j2
index 1bb481f7a..247b5e078 100644
--- a/docker/swift/swift-object-updater/Dockerfile.j2
+++ b/docker/swift/swift-object-updater/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-object-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 COPY start.sh /
diff --git a/docker/swift/swift-proxy-server/Dockerfile.j2 b/docker/swift/swift-proxy-server/Dockerfile.j2
index 806cb9591..864d8dc5d 100644
--- a/docker/swift/swift-proxy-server/Dockerfile.j2
+++ b/docker/swift/swift-proxy-server/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/swift/swift-rsyncd/Dockerfile.j2 b/docker/swift/swift-rsyncd/Dockerfile.j2
index 5fda933a3..7fd6b3593 100644
--- a/docker/swift/swift-rsyncd/Dockerfile.j2
+++ b/docker/swift/swift-rsyncd/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
diff --git a/docker/zaqar/Dockerfile.j2 b/docker/zaqar/Dockerfile.j2
index 2fe776606..e406a8c8c 100644
--- a/docker/zaqar/Dockerfile.j2
+++ b/docker/zaqar/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/kolla/cmd/build.py b/kolla/cmd/build.py
index d0972d491..ed4a34992 100755
--- a/kolla/cmd/build.py
+++ b/kolla/cmd/build.py
@@ -220,7 +220,7 @@ def merge_args_and_config(settings_from_config_file):
         "tag": "latest",
         "base": "centos",
         "base_tag": "latest",
-        "type": "binary",
+        "install_type": "binary",
         "no_cache": False,
         "keep": False,
         "push": False,
@@ -248,7 +248,8 @@ def merge_args_and_config(settings_from_config_file):
                         type=str)
     parser.add_argument('-t', '--type',
                         help='The method of the Openstack install',
-                        type=str)
+                        type=str,
+                        dest='install_type')
     parser.add_argument('--no-cache',
                         help='Do not use the Docker cache when building',
                         action='store_true')
@@ -293,15 +294,25 @@ class KollaWorker(object):
         self.namespace = config['namespace']
         self.base = config['base']
         self.base_tag = config['base_tag']
-        self.type_ = config['type']
+        self.install_type = config['install_type']
+        self.tag = config['tag']
+        self.image_prefix = self.base + '-' + config['install_type'] + '-'
+
+        if '-' in config['install_type']:
+            self.install_type, self.install_metatype = \
+                self.install_type.split('-', 2)
+        else:
+            if self.install_type == 'binary':
+                self.install_metatype = 'rdo'
+            elif self.install_type == 'source':
+                self.install_metatype = 'mixed'
+
         self.tag = config['tag']
-        self.prefix = self.base + '-' + self.type_ + '-'
         self.include_header = config['include_header']
         self.include_footer = config['include_footer']
         self.regex = config['regex']
         self.source_location = ConfigParser.SafeConfigParser()
         self.source_location.read(find_config_file('kolla-build.conf'))
-
         self.image_statuses_bad = dict()
         self.image_statuses_good = dict()
         self.image_statuses_unmatched = dict()
@@ -330,7 +341,9 @@ class KollaWorker(object):
             template = env.get_template(template_name)
             values = {'base_distro': self.base,
                       'base_distro_tag': self.base_tag,
-                      'install_type': self.type_,
+                      'install_metatype': self.install_metatype,
+                      'image_prefix': self.image_prefix,
+                      'install_type': self.install_type,
                       'namespace': self.namespace,
                       'tag': self.tag}
             if self.include_header:
@@ -441,7 +454,7 @@ class KollaWorker(object):
             image = dict()
             image['status'] = "unprocessed"
             image['name'] = os.path.basename(path)
-            image['fullname'] = self.namespace + '/' + self.prefix + \
+            image['fullname'] = self.namespace + '/' + self.image_prefix + \
                 image['name'] + ':' + self.tag
             image['path'] = path
             image['parent_name'] = content.split(' ')[1].split('\n')[0]
@@ -449,7 +462,7 @@ class KollaWorker(object):
                 image['parent'] = None
             image['children'] = list()
 
-            if self.type_ == 'source':
+            if self.install_type == 'source':
                 image['source'] = dict()
                 try:
                     image['source']['type'] = \
-- 
GitLab