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"
# 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==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===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/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

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") .
