FROM ubuntu:16.04

LABEL maintainer="qa@mirantis.com"

ARG TEMPEST_TAG="mcp/queens"
# Tempest plugins
ARG HORIZON_TAG="mcp/queens"
ARG BARBICAN_TAG="mcp/queens"
ARG DESIGNATE_TAG="mcp/queens"
ARG HEAT_TAG="mcp/queens"
ARG IRONIC_TAG="mcp/queens"
ARG MANILA_TAG="mcp/queens"
ARG TELEMETRY_TAG="mcp/queens"
ARG OCTAVIA_TAG="mcp/queens"
ARG PATROLE_TAG="0.4.x"
ARG TUNGSTEN_TAG="0.1.x"
# global openstack requirements repo
# This is the commit where tempest version is 18.0.0 in u-c
ARG UPPER_CONSTRAINTS_TAG="6e64e622e8608ab817dbc809d99e02e4cfdd9f59"
#
ENV DEBIAN_FRONTEND=noninteractive \
    DEBCONF_NONINTERACTIVE_SEEN=true \
    LANG=C.UTF-8 \
    LANGUAGE=$LANG
SHELL ["/bin/bash", "-xec"]
USER root
# pre-update
RUN cd /etc/apt/ && echo > sources.list \
  && echo "deb [arch=amd64] http://cz.archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> sources.list \
  && echo "deb [arch=amd64] http://cz.archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> sources.list \
  && echo "deb [arch=amd64] http://cz.archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse" >> sources.list \
  && echo 'Acquire::Languages "none";' > apt.conf.d/docker-no-languages \
  && echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > apt.conf.d/docker-gzip-indexes \
  && echo 'APT::Get::Install-Recommends "false"; APT::Get::Install-Suggests "false";' > apt.conf.d/docker-recommends \
  && apt-get update && apt-get  upgrade -y \
  && apt-get install -y vim-tiny git-core python-pip libffi-dev libssl-dev python-dev python3-dev iputils-ping patch openssh-server

RUN mkdir -p /root/.ssh
COPY bin/ssh/config /root/.ssh/
COPY bin/ssh/mcp-jenkins.key /root/.ssh/
RUN chmod 400 /root/.ssh/mcp-jenkins.key

#Due to upstream bug we should use fixed version of pip
RUN pip install -U 'pip==18.0'
WORKDIR /var/lib/
# TODO migrate to downstrem mirror?
RUN git clone https://github.com/openstack/requirements.git openstack_requirements && \
    pushd openstack_requirements; git checkout $UPPER_CONSTRAINTS_TAG; popd ;

RUN sed -i -e 's|tempest===18.0.0|git+ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest@mcp/queens#egg=tempest|g' \
    /var/lib/openstack_requirements/upper-constraints.txt;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest-horizon tempest-horizon-plugin; \
    pushd tempest-horizon-plugin ; git checkout $HORIZON_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/barbican-tempest-plugin && \
    pushd barbican-tempest-plugin; git checkout $BARBICAN_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/designate-tempest-plugin && \
    pushd designate-tempest-plugin; git checkout $DESIGNATE_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/heat-tempest-plugin && \
    pushd heat-tempest-plugin; git checkout $HEAT_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/ironic-tempest-plugin && \
    pushd ironic-tempest-plugin; git checkout $IRONIC_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/manila-tempest-plugin && \
    pushd manila-tempest-plugin; git checkout $MANILA_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/telemetry-tempest-plugin && \
    pushd telemetry-tempest-plugin; git checkout $TELEMETRY_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/octavia-tempest-plugin && \
    pushd octavia-tempest-plugin; git checkout $OCTAVIA_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/patrole patrole-tempest-plugin ; \
    pushd /var/lib/patrole-tempest-plugin; git checkout $PATROLE_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/contrail/tungsten-tempest tungsten-tempest-plugin ; \
    pushd /var/lib/tungsten-tempest-plugin; git checkout $TUNGSTEN_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt . ; \
    popd;

RUN git clone ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest && \
    pushd tempest; git checkout $TEMPEST_TAG; \
    pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt ; \
    pip install . ; popd;

RUN pip install junitxml
# Patch junitxml library to include skipped tests in the test report totals header
COPY bin/patches/junitxml_init.patch /tmp/junitxml_init.patch
RUN patch /usr/local/lib/python2.7/dist-packages/junitxml/__init__.py /tmp/junitxml_init.patch

# Cleanup.
RUN apt-get -y purge libx11-data xauth libxmuu1 libxcb1 libx11-6 libxext6 \
    ppp pppconfig pppoeconf popularity-contest cpp gcc g++ libssl-doc
RUN apt-get -y autoremove; apt-get -y clean;
RUN rm -rf /root/.cache
RUN rm -rf /var/lib/apt/lists/*
RUN rm -rf /root/.ssh

RUN echo "BUILD_TIMESTAMP=$(date '+%Y-%m-%d-%H-%M-%S' -u)" > /etc/build_timestamp

#
COPY bin/entrypoint.sh /usr/bin/entrypoint.sh
COPY bin/run_tempest.sh /usr/bin/run-tempest
COPY bin/opencontrail/policy.json /etc/opencontrail/policy.json

ENV LOG_DIR='/root/tempest'

COPY bin/skiplists /var/lib/tempest/skiplists

WORKDIR /var/lib/tempest/
ENTRYPOINT ["/usr/bin/entrypoint.sh"]

# Build
# docker build -t docker-ci-tempest:$(date "+%Y_%m_%d_%H_%M_%S").
