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 %}