blob: 643a7b881d31f0cee1613bc044076d19550a10d3 [file] [log] [blame]
# Dockerfile.base
# This image isn't used, but installs the prereqs for the other XOS images
FROM ubuntu:14.04.4
# XXX Workaround for docker bug:
# https://github.com/docker/docker/issues/6345
# Kernel 3.15 breaks docker, uss the line below as a workaround
# until there is a fix
RUN ln -s -f /bin/true /usr/bin/chfn
# XXX End workaround
# Install apt packages
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
apt-transport-https \
curl \
gcc \
geoip-database \
git \
graphviz \
graphviz-dev \
libgeoip1 \
libxslt1-dev \
libxslt1.1 \
libyaml-dev \
m4 \
openssh-client \
pkg-config \
python-ceilometerclient \
python-crypto \
python-dev \
python-glanceclient \
python-httplib2 \
python-jinja2 \
python-keystoneclient \
python-netaddr \
python-neutronclient \
python-novaclient \
python-paramiko \
python-pip \
python-psycopg2 \
python-pycurl \
python-setuptools \
python-yaml \
rsync \
software-properties-common \
supervisor \
tar \
wget \
&& rm -rf /var/lib/apt/lists/*
# Install python pacakges with pip
RUN pip install \
ca-certs-locater \
"django>=1.8,<1.8.99" \
django-bitfield \
django-crispy-forms \
django-encrypted-fields \
django-extensions \
django-filter \
django-geoposition \
django-ipware \
django-suit==0.3a3 \
django-timezones \
django_rest_swagger \
djangorestframework==3.3.3 \
dnslib \
google-api-python-client \
httplib2 \
jinja2 \
lxml \
markdown \
netaddr \
psycopg2 \
pyOpenSSL \
pygraphviz \
python-ceilometerclient \
python-dateutil \
python-gflags \
python-keyczar \
python-logstash \
pytz \
pyyaml \
requests
# Required for ansible 2.x OpenStack os_* modules
RUN pip install --upgrade pbr && \
pip install --upgrade six && \
pip install shade
# Install ansible 2.x (has to be done after installing `software-properties-common`)
RUN add-apt-repository ppa:ansible/ansible
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
ansible \
&& rm -rf /var/lib/apt/lists/*
COPY ansible-hosts /etc/ansible/hosts
# jQuery download w/checksum
ENV JQUERY_DL_URL http://code.jquery.com/jquery-1.12.4.min.js
ENV JQUERY_SHA256 668b046d12db350ccba6728890476b3efee53b2f42dbb84743e5e9f1ae0cc404
RUN curl -fLsS $JQUERY_DL_URL -o jquery.min.js && \
echo "$JQUERY_SHA256 jquery.min.js" | sha256sum -c - && \
mv jquery.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/jquery.min.js
# Install heat-translator for TOSCA support
ENV HT_REPO_URL https://github.com/openstack/heat-translator.git
ENV HT_REF a951b93c16e54046ed2d233d814860181c772e30
RUN git clone $HT_REPO_URL /tmp/heat-translator && \
cd /tmp/heat-translator && \
git checkout $HT_REF && \
mkdir -p /opt/tosca && \
mv /tmp/heat-translator/translator /opt/tosca/translator && \
echo > /opt/tosca/translator/__init__.py && \
rm -rf /tmp/heat-translator
# For Synchronizer
ENV PHANTOMJS_DL_URL https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
ENV PHANTOMJS_SHA256 86dd9a4bf4aee45f1a84c9f61cf1947c1d6dce9b9e8d2a907105da7852460d2f
RUN curl -fLsS $PHANTOMJS_DL_URL -o phantomjs.tar.bz2 && \
echo "$PHANTOMJS_SHA256 phantomjs.tar.bz2" | sha256sum -c - && \
tar -C /usr/local/share -xjf phantomjs.tar.bz2 && \
ln -s /usr/local/share/phantomjs-* /usr/local/share/phantomjs && \
ln -s /usr/local/share/phantomjs/bin/phantomjs /bin/phantomjs && \
rm phantomjs.tar.bz2