diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
old mode 100755
new mode 100644
index a19733304f..be54e9beea
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -188,51 +188,13 @@ RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 199369E5404BD
     && apt-get update \
     && apt-get upgrade -y \
     && apt-get dist-upgrade -y \
-    && apt-get install -y --no-install-recommends \
-        curl \
-        ca-certificates \
-        build-essential \
-        python-dev \
-        libssl-dev \
-        libmariadbclient-dev \
-        libxslt1-dev \
-        libffi-dev \
-        libyaml-dev \
-        pkg-config \
+    && apt-get install -y --no-install-recommends python \
     && apt-get clean \
     && sed -i "s|'purelib': '\$base/local/lib/python\$py_version_short/dist-packages',|'purelib': '\$base/lib/python\$py_version_short/dist-packages',|;s|'platlib': '\$platbase/local/lib/python\$py_version_short/dist-packages',|'platlib': '\$platbase/lib/python\$py_version_short/dist-packages',|;s|'headers': '\$base/local/include/python\$py_version_short/\$dist_name',|'headers': '\$base/include/python\$py_version_short/\$dist_name',|;s|'scripts': '\$base/local/bin',|'scripts': '\$base/bin',|;s|'data'   : '\$base/local',|'data'   : '\$base',|" /usr/lib/python2.7/distutils/command/install.py \
     && rm -rf /usr/lib/python2.7/site-packages \
     && ln -s dist-packages /usr/lib/python2.7/site-packages
 
-# Endif for base_distro ubuntu,debian
-{% endif %}
 
-{% if install_type == 'source' %}
-
-RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
-    && python get-pip.py \
-    && rm get-pip.py \
-    && pip --no-cache-dir install \
-        python-barbicanclient \
-        python-ceilometerclient \
-        python-congressclient \
-        python-designateclient \
-        python-heatclient \
-        python-ironicclient \
-        python-magnumclient \
-        python-manilaclient \
-        python-mistralclient \
-        python-muranoclient \
-        python-saharaclient \
-        python-swiftclient \
-        python-troveclient \
-        python-tuskarclient \
-        python-zaqarclient \
-        python-openstackclient \
-        MySQL-python \
-        numpy
-
-# Endif for install_type source
 {% endif %}
 
 COPY kolla-common.sh /opt/kolla/
diff --git a/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/docker/ceilometer/ceilometer-base/Dockerfile.j2
index 230a19ab42..3763851692 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
index 855c0c667d..72879e883a 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  }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-openstack-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 8f6afa925c..f4894f0375 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2
index 4fe27a4a88..80b61ec16c 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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 764bd7e869..e2de1b5796 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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
old mode 100755
new mode 100644
diff --git a/docker/heat/heat-base/Dockerfile.j2 b/docker/heat/heat-base/Dockerfile.j2
index 7f210a5035..4accc807e2 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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 8bf6babdd5..7535624079 100644
--- a/docker/horizon/Dockerfile.j2
+++ b/docker/horizon/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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 4de31d2b7d..b49d41b576 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/keystone/Dockerfile.j2 b/docker/keystone/Dockerfile.j2
index e71d7dfb9f..9bb316a1a8 100644
--- a/docker/keystone/Dockerfile.j2
+++ b/docker/keystone/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-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 9b84c761e0..e0450ffc8e 100644
--- a/docker/kolla-ansible/Dockerfile.j2
+++ b/docker/kolla-ansible/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
diff --git a/docker/magnum/magnum-base/Dockerfile.j2 b/docker/magnum/magnum-base/Dockerfile.j2
index d83fa86a8e..078d7027b6 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  }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type  }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/murano/murano-base/Dockerfile.j2 b/docker/murano/murano-base/Dockerfile.j2
index 5dc28caca6..59bdc1cb7b 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 79d4ab4eaa..c4dcde7ff8 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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 ad43bb9c4e..0010cbaed8 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-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
new file mode 100644
index 0000000000..1e33530f7c
--- /dev/null
+++ b/docker/openstack-base/Dockerfile.j2
@@ -0,0 +1,45 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if install_type == 'source' %}
+    {% if base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        curl \
+        ca-certificates \
+        build-essential \
+        python-dev \
+        libssl-dev \
+        libmariadbclient-dev \
+        libxslt1-dev \
+        libffi-dev \
+        libyaml-dev \
+        pkg-config \
+    && apt-get clean
+
+    {% endif %}
+
+RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
+    && python get-pip.py \
+    && rm get-pip.py \
+    && pip --no-cache-dir install \
+        python-barbicanclient \
+        python-ceilometerclient \
+        python-congressclient \
+        python-designateclient \
+        python-heatclient \
+        python-ironicclient \
+        python-magnumclient \
+        python-manilaclient \
+        python-mistralclient \
+        python-muranoclient \
+        python-saharaclient \
+        python-swiftclient \
+        python-troveclient \
+        python-tuskarclient \
+        python-zaqarclient \
+        python-openstackclient \
+        MySQL-python \
+        numpy
+
+{% endif %}
diff --git a/docker/swift/swift-base/Dockerfile.j2 b/docker/swift/swift-base/Dockerfile.j2
index 7a20e2864a..142f411b8c 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 }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 {% if install_type == 'binary' %}
diff --git a/docker/zaqar/Dockerfile.j2 b/docker/zaqar/Dockerfile.j2
index 4e3a0bc52c..f05ea350a5 100644
--- a/docker/zaqar/Dockerfile.j2
+++ b/docker/zaqar/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-openstack-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if install_type == 'binary' %}