0da25415f8
Just like last cycle, I ran all of the requirements and found the packages that were installed >=10 times throughout our containers. By combining them in the openstack-base we reduce the size of the images by ~600MB (10%) and decrease build time by a measurable amount (5-10m in the case of Centos) TrivialFix Change-Id: I582d75644a8e8b936c6f9fc10c6b5821e1e8c5c4
219 lines
5.4 KiB
Django/Jinja
219 lines
5.4 KiB
Django/Jinja
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
|
|
MAINTAINER {{ maintainer }}
|
|
|
|
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
|
|
RUN yum -y install \
|
|
git \
|
|
iproute \
|
|
openssl \
|
|
&& yum clean all
|
|
|
|
{% endif %}
|
|
{% if install_type == 'binary' %}
|
|
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
|
|
|
|
# TODO(Allen) Remove python-dogpile-cache after the requirement of
|
|
# python-ironicclient is fixed.
|
|
RUN yum -y install \
|
|
python-barbicanclient \
|
|
python-ceilometerclient \
|
|
python-congressclient \
|
|
python-designateclient \
|
|
python-heatclient \
|
|
python-dogpile-cache \
|
|
python-ironicclient \
|
|
python-magnumclient \
|
|
python-manilaclient \
|
|
python-mistralclient \
|
|
python-muranoclient \
|
|
python-PyMySQL \
|
|
python-pip \
|
|
python-saharaclient \
|
|
python-swiftclient \
|
|
python-troveclient \
|
|
python-tuskarclient \
|
|
python-zaqarclient \
|
|
python-openstackclient \
|
|
python-keystoneauth1 \
|
|
&& yum clean all
|
|
|
|
{% elif base_distro in ['ubuntu'] %}
|
|
|
|
# This will prevent questions from being asked during the install
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
# There is no python-tuskarclient in ubuntu 14.04
|
|
RUN apt-get install -y --no-install-recommends \
|
|
python-barbicanclient \
|
|
python-ceilometerclient \
|
|
python-congressclient \
|
|
python-designateclient \
|
|
python-heatclient \
|
|
python-ironicclient \
|
|
python-magnumclient \
|
|
python-manilaclient \
|
|
python-mistralclient \
|
|
python-muranoclient \
|
|
python-pip \
|
|
python-saharaclient \
|
|
python-swiftclient \
|
|
python-troveclient \
|
|
python-zaqarclient \
|
|
python-openstackclient \
|
|
python-pymysql \
|
|
python-keystoneclient \
|
|
python-oslo.log \
|
|
openssl \
|
|
patch \
|
|
&& apt-get clean
|
|
|
|
{% endif %}
|
|
{% elif install_type == 'source' %}
|
|
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
|
|
|
|
RUN yum -y install \
|
|
gcc \
|
|
gcc-c++ \
|
|
libffi-devel \
|
|
libxml2-devel \
|
|
libxslt-devel \
|
|
MariaDB-devel \
|
|
openldap-devel \
|
|
openssl-devel \
|
|
postgresql \
|
|
postgresql-devel \
|
|
python-devel \
|
|
sqlite-devel \
|
|
&& yum clean all
|
|
|
|
{% elif base_distro in ['ubuntu', 'debian'] %}
|
|
|
|
RUN apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
build-essential \
|
|
python-dev \
|
|
libssl-dev \
|
|
libmariadbclient-dev \
|
|
libxslt1-dev \
|
|
libffi-dev \
|
|
libyaml-dev \
|
|
pkg-config \
|
|
git \
|
|
&& apt-get clean
|
|
|
|
{% endif %}
|
|
|
|
ADD openstack-base-archive /openstack-base-source
|
|
RUN ln -s openstack-base-source/* /requirements \
|
|
&& mkdir -p /var/lib/kolla \
|
|
&& 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 -U virtualenv \
|
|
&& virtualenv --system-site-packages /var/lib/kolla/venv \
|
|
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt \
|
|
Babel \
|
|
Mako \
|
|
MarkupSafe \
|
|
Paste \
|
|
PasteDeploy \
|
|
PyYAML \
|
|
Routes \
|
|
SQLAlchemy \
|
|
Tempita \
|
|
WebOb \
|
|
alembic \
|
|
amqp \
|
|
anyjson \
|
|
appdirs \
|
|
cachetools \
|
|
cliff \
|
|
cmd2 \
|
|
contextlib2 \
|
|
debtcollector \
|
|
decorator \
|
|
enum34 \
|
|
eventlet \
|
|
fasteners \
|
|
funcsigs \
|
|
functools32 \
|
|
futures \
|
|
futurist \
|
|
greenlet \
|
|
iso8601 \
|
|
jinja2 \
|
|
jsonpatch \
|
|
jsonpointer \
|
|
jsonschema \
|
|
kazoo \
|
|
keystoneauth1 \
|
|
keystonemiddleware \
|
|
kombu \
|
|
monotonic \
|
|
msgpack-python \
|
|
netaddr \
|
|
netifaces \
|
|
os-client-config \
|
|
oslo.concurrency \
|
|
oslo.config \
|
|
oslo.context \
|
|
oslo.db \
|
|
oslo.i18n \
|
|
oslo.log \
|
|
oslo.messaging \
|
|
oslo.middleware \
|
|
oslo.policy \
|
|
oslo.serialization \
|
|
oslo.service \
|
|
oslo.utils \
|
|
pbr \
|
|
pika \
|
|
pika-pool \
|
|
positional \
|
|
prettytable \
|
|
pycadf \
|
|
pycrypto \
|
|
pyinotify \
|
|
pymysql \
|
|
pyparsing \
|
|
python-barbicanclient \
|
|
python-ceilometerclient \
|
|
python-cinderclient \
|
|
python-congressclient \
|
|
python-dateutil \
|
|
python-designateclient \
|
|
python-editor \
|
|
python-glanceclient \
|
|
python-heatclient \
|
|
python-ironicclient \
|
|
python-keystoneclient \
|
|
python-magnumclient \
|
|
python-manilaclient \
|
|
python-memcached \
|
|
python-mistralclient \
|
|
python-muranoclient \
|
|
python-neutronclient \
|
|
python-novaclient \
|
|
python-openstackclient \
|
|
python-saharaclient \
|
|
python-swiftclient \
|
|
python-troveclient \
|
|
python-tuskarclient \
|
|
python-zaqarclient \
|
|
pytz \
|
|
repoze.lru \
|
|
requests \
|
|
requestsexceptions \
|
|
retrying \
|
|
simplejson \
|
|
six \
|
|
sqlalchemy-migrate \
|
|
sqlparse \
|
|
stevedore \
|
|
unicodecsv \
|
|
warlock \
|
|
wrapt
|
|
|
|
ENV PATH /var/lib/kolla/venv/bin:$PATH
|
|
|
|
{% endif %}
|