kolla/docker/openstack-base/Dockerfile.j2

107 lines
2.9 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER Kolla Project (https://launchpad.net/kolla)
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
RUN yum -y install \
git \
iproute \
mariadb-libs \
MySQL-python \
openssl \
&& yum clean all
{% endif %}
{% if install_type == 'binary' %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
RUN yum -y install \
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-tuskarclient \
python-zaqarclient \
python-openstackclient \
MySQL-python \
&& yum clean all
{% 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 \
mysql-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 \
curl \
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
# TODO(SamYaple): Remove the sed once openstack/requirements is updated. This
# is to work around the issue with oslo.log and syslog.
# Related-Bug: #1499620
RUN ln -s openstack-base-source/* /requirements \
&& sed -i 's/oslo.log===1.11.0/oslo.log===1.12.1/' requirements/upper-constraints.txt \
&& 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 -c requirements/upper-constraints.txt \
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 \
python-memcached
{% endif %}