From 9d3f3f28e24388316f01eb5683e73ea1f25e3d91 Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Thu, 3 Sep 2015 10:32:42 +0000 Subject: [PATCH] Create openstack-base container This creates and moves the dependencies for Ubuntu into a common openstack-base container. This commit shows dramatically smaller sizes for all non-openstack containers. The Openstack container remain the same size. Change-Id: I2f46420d4b9edcfddda374caddcce906fc708f6c Partially-Implements: blueprint openstack-common-container --- docker/base/Dockerfile.j2 | 40 +---------------- .../ceilometer/ceilometer-base/Dockerfile.j2 | 2 +- docker/cinder/cinder-base/Dockerfile.j2 | 2 +- docker/designate/designate-base/Dockerfile.j2 | 2 +- docker/glance/glance-base/Dockerfile.j2 | 2 +- docker/gnocchi/gnocchi-base/Dockerfile.j2 | 2 +- docker/haproxy/Dockerfile.j2 | 0 docker/heat/heat-base/Dockerfile.j2 | 2 +- docker/horizon/Dockerfile.j2 | 2 +- docker/ironic/ironic-base/Dockerfile.j2 | 2 +- docker/keystone/Dockerfile.j2 | 2 +- docker/kolla-ansible/Dockerfile.j2 | 2 +- docker/magnum/magnum-base/Dockerfile.j2 | 2 +- docker/murano/murano-base/Dockerfile.j2 | 2 +- docker/neutron/neutron-base/Dockerfile.j2 | 2 +- docker/nova/nova-base/Dockerfile.j2 | 2 +- docker/openstack-base/Dockerfile.j2 | 45 +++++++++++++++++++ docker/swift/swift-base/Dockerfile.j2 | 2 +- docker/zaqar/Dockerfile.j2 | 2 +- 19 files changed, 62 insertions(+), 55 deletions(-) mode change 100755 => 100644 docker/base/Dockerfile.j2 mode change 100755 => 100644 docker/haproxy/Dockerfile.j2 create mode 100644 docker/openstack-base/Dockerfile.j2 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' %}