FROM       python:2.7.11

# 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.
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
    curl \
    gcc \
    geoip-database \
    git \
    graphviz \
    graphviz-dev \
    libgeoip1 \
    libxslt1.1 \
    libxslt1-dev \
    libyaml-dev \
    m4 \
    pkg-config \
    python-dev \
    python-httplib2 \
    python-pip \
    python-psycopg2 \
    python-pycurl \
    python-setuptools \
    tar \
    wget \
##### observer dependencies
    python-keystoneclient \
    python-novaclient \
    python-neutronclient \
    python-glanceclient \
    python-ceilometerclient

RUN pip install \
    django==1.7 \
    django-bitfield \
    django-crispy-forms \
    django-encrypted-fields \
    django-extensions \
    django-filter \
    django-geoposition \
    django-ipware \
    django_rest_swagger \
    django-suit==0.3a1 \
    django-timezones \
    djangorestframework==2.4.4 \
    dnslib \
    lxml \
    markdown \
    netaddr \
    pyOpenSSL \
    psycopg2 \
    python-ceilometerclient \
    python-dateutil \
    python-keyczar \
    pygraphviz \
    pytz \
    pyyaml \
    requests

RUN easy_install --upgrade httplib2

RUN easy_install \
    python_gflags \
    google_api_python_client \
    httplib2.ca_certs_locater

ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/

# Install XOS
RUN git clone git://github.com/open-cloud/xos.git /tmp/xos && \
    mv /tmp/xos/xos /opt/ && \
    chmod +x /opt/xos/scripts/opencloud && \
    /opt/xos/scripts/opencloud genkeys

# install Tosca engine
RUN chmod +x /opt/xos/tosca/run.py
RUN bash /opt/xos/tosca/install_tosca.sh

EXPOSE 8000

# Set environment variables.
ENV HOME /root

# Define working directory.
WORKDIR /opt/xos

# Define default command.
CMD update-ca-certificates && python manage.py runserver 0.0.0.0:8000 --insecure
