FROM ubuntu:16.04
LABEL maintainer="qa@mirantis.com"

ARG TEMPEST_TAG="mcp/pike"
# Tempest plugins
ARG HORIZON_TAG="mcp/pike"
ARG BARBICAN_TAG="mcp/pike"
ARG DESIGNATE_TAG="mcp/pike"
ARG HEAT_TAG="mcp/pike"
ARG IRONIC_TAG="mcp/pike"
ARG MANILA_TAG="mcp/pike"
ARG TELEMETRY_TAG="mcp/pike"
ARG PATROLE_TAG="0.4.x"
ARG TUNGSTEN_TAG="0.1.x"
# global openstack requirements repo
# This is the commit where tempest version is 17.2.0 in u-c
ARG UPPER_CONSTRAINTS_TAG="83b1de74834fbcdbe749e270c29e76cdc28f85d5"

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==9.0.3'
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===17.2.0|git+ssh://mcp-jenkins@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest@mcp/pike#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/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

# Patch os_testr library to fix issue ralated with tempest black-list option
COPY bin/patches/regex_builder.patch /tmp/regex_builder.patch
RUN patch /usr/local/lib/python2.7/dist-packages/os_testr/regex_builder.py /tmp/regex_builder.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") .
