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 \ jinja2 \ kazoo \ keystonemiddleware \ 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 \ pymysql \ python-memcached \ six ENV PATH /var/lib/kolla/venv/bin:$PATH {% endif %}