d568c47207
Here modify the Ubuntu image to install python things in the same way as the Centos family to ensure paths match Change-Id: I8fb487f0e8b51fb3de9b4f6f2410675988ba33e9 Partially-Implements: blueprint install-from-ubuntu
232 lines
7.3 KiB
Django/Jinja
Executable File
232 lines
7.3 KiB
Django/Jinja
Executable File
FROM {{ base_distro }}:{{ base_distro_tag }}
|
|
MAINTAINER Kolla Project (https://launchpad.net/kolla)
|
|
|
|
{{ include_header }}
|
|
|
|
ENV KOLLA_BASE_DISTRO {{ base_distro }}
|
|
ENV KOLLA_INSTALL_TYPE {{ install_type }}
|
|
|
|
{% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
|
|
{% if install_type == 'binary' %}
|
|
{% if base_distro in ['centos', 'oraclelinux'] %}
|
|
|
|
# Set up repositories
|
|
# This repository provides all dependencies used by RDO OpenStack
|
|
RUN yum install -y https://rdoproject.org/repos/openstack-kilo/rdo-release-kilo.rpm
|
|
|
|
# This repository provides latest packages built from trunk master into RPMs
|
|
RUN curl http://trunk.rdoproject.org/centos7/current/delorean.repo -o /etc/yum.repos.d/delorean-current.repo
|
|
|
|
# This repository turns off auth in PAM so we can operate on Ubuntu 14.04
|
|
RUN curl https://copr.fedoraproject.org/coprs/sdake/pam.noaudit/repo/epel-7/sdake-pam.noaudit-epel-7.repo -o /etc/yum.repos.d/sdake-pam.noaudit-epel-7.repo
|
|
|
|
{% if base_distro == 'centos' %}
|
|
# CentOS 7.1 workaround for conflicting packages with libvirt
|
|
RUN rpm -e --nodeps systemd-container systemd-container-libs \
|
|
&& rpm -e --nodeps yum-plugin-fastestmirror \
|
|
&& yum -d 10 -y install systemd systemd-libs systemd-devel \
|
|
&& yum clean all
|
|
{% endif %}
|
|
|
|
{% if base_distro == 'oraclelinux' %}
|
|
RUN yum install -y \
|
|
yum-utils \
|
|
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
|
|
&& yum clean all
|
|
RUN yum-config-manager --enable ol7_optional_latest ol7_addons
|
|
{% endif %}
|
|
|
|
# Endif for base_distro centos/oraclelinux
|
|
{% elif base_distro == 'fedora' %}
|
|
|
|
# Set up repositories
|
|
RUN yum install -y https://rdo.fedorapeople.org/rdo-release.rpm \
|
|
&& yum -y install dnf dnf-plugins-core \
|
|
&& yum clean all \
|
|
&& dnf copr enable -y sdake/pam.noaudit
|
|
|
|
# Endif for base_distro fedora
|
|
{% endif %}
|
|
|
|
# Update packages
|
|
RUN yum update -y \
|
|
&& yum install -y epel-release \
|
|
&& yum clean all
|
|
|
|
# Install base packages
|
|
RUN yum install -y \
|
|
git \
|
|
iproute \
|
|
mariadb \
|
|
mariadb-libs \
|
|
openssl \
|
|
openstack-utils \
|
|
pyparsing \
|
|
python-alembic \
|
|
python-amqp \
|
|
python-amqplib \
|
|
python-anyjson \
|
|
python-boto \
|
|
python-cheetah \
|
|
python-cliff \
|
|
python-cmd2 \
|
|
python-croniter \
|
|
python-crypto \
|
|
python-d2to1 \
|
|
python-docutils \
|
|
python-dogpile-cache \
|
|
python-dogpile-core \
|
|
python-empy \
|
|
python-eventlet \
|
|
python-flask \
|
|
python-futures \
|
|
python-greenlet \
|
|
python-httplib2 \
|
|
python-iso8601 \
|
|
python-itsdangerous \
|
|
python-jinja2 \
|
|
python-jsonpatch \
|
|
python-jsonpath-rw \
|
|
python-jsonpointer \
|
|
python-jsonschema \
|
|
python-keyring \
|
|
python-kombu \
|
|
python-ldap \
|
|
python-lesscpy \
|
|
python-lockfile \
|
|
python-lxml \
|
|
python-markdown \
|
|
python-memcached \
|
|
python-migrate \
|
|
python-msgpack \
|
|
python-netifaces \
|
|
python-networkx \
|
|
python-oauthlib \
|
|
python-oslo-config \
|
|
python-oslo-messaging \
|
|
python-oslo-rootwrap \
|
|
python-oslo-policy \
|
|
python-paramiko \
|
|
python-passlib \
|
|
python-paste-deploy \
|
|
python-pbr \
|
|
python-pecan \
|
|
python-pip \
|
|
python-ply \
|
|
python-prettytable \
|
|
python-psutil \
|
|
python-pycadf \
|
|
python-pygments \
|
|
python-pymongo \
|
|
python-qpid \
|
|
python-repoze-lru \
|
|
python-requests \
|
|
python-routes \
|
|
python-simplegeneric \
|
|
python-simplejson \
|
|
python-singledispatch \
|
|
python-six \
|
|
python-sqlalchemy \
|
|
python-stevedore \
|
|
python-taskflow \
|
|
python-versiontools \
|
|
python-warlock \
|
|
python-webob \
|
|
python-websockify \
|
|
python-webtest \
|
|
python-werkzeug \
|
|
python-wsme \
|
|
&& yum clean all
|
|
|
|
# TODO(inc0): when oslo_service lands in delorean, change pip to yum
|
|
# necessary until https://bugzilla.redhat.com/show_bug.cgi?id=1229477 is fixed
|
|
|
|
# This is dirty like zebra. This works around a bug in Ubuntu 14.04 LTS. The
|
|
# --net=host option does not work on ubuntu 14.04 because of a kernel bug. One
|
|
# workaround is to buid pam without authentication.
|
|
# See:
|
|
# https://registry.hub.docker.com/u/sequenceiq/pam/
|
|
#
|
|
RUN rpm -e --nodeps pam \
|
|
&& yum -y install pam+noaudit \
|
|
&& yum clean all
|
|
# End dirty like zebra
|
|
|
|
# Endif for install_type binary
|
|
{% elif install_type == 'source' %}
|
|
|
|
# Update packages
|
|
RUN yum update -y \
|
|
&& yum install -y \
|
|
epel-release \
|
|
gcc \
|
|
gcc-c++ \
|
|
git \
|
|
libffi-devel \
|
|
libxml2-devel \
|
|
libxslt-devel \
|
|
mariadb \
|
|
mariadb-devel \
|
|
mysql-devel \
|
|
MySQL-python \
|
|
openldap-devel \
|
|
openssl \
|
|
openssl-devel \
|
|
postgresql \
|
|
postgresql-devel \
|
|
python-devel \
|
|
python-oslo-policy \
|
|
sqlite-devel \
|
|
tar \
|
|
&& yum clean all
|
|
|
|
# Endif for install_type source
|
|
{% endif %}
|
|
|
|
# Endif for base_distro centos,fedora,oraclelinux
|
|
{% elif base_distro in ['ubuntu', 'debian'] %}
|
|
|
|
# This will prevent questions from being asked during the install
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
COPY sources.list /etc/apt/
|
|
|
|
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 199369E5404BD5FC7D2FE43BCBCB082A1BB943DB \
|
|
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 391A9AA2147192839E9DB0315EDB1B62EC4926EA \
|
|
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com F78372A06FF50C80464FC1B4F7B8CEA6056E8E56 \
|
|
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 430BDF5C56E7C94E848EE60C1C4CBDCDCD2EFD2A \
|
|
&& apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 7D5C473EB80C00FC133071068A6844A29F68104E \
|
|
&& 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 \
|
|
python-mysqldb \
|
|
libmariadbclient-dev \
|
|
libxslt1-dev \
|
|
libffi-dev \
|
|
libyaml-dev \
|
|
pkg-config \
|
|
&& 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
|
|
|
|
# Endif for install_type source
|
|
{% endif %}
|
|
|
|
COPY kolla-common.sh /opt/kolla/
|