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

#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+https://gerrit.mcp.mirantis.net/packaging/sources/tempest@mcp/queens#egg=tempest|g' \
    /var/lib/openstack_requirements/upper-constraints.txt;

RUN git clone https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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 https://gerrit.mcp.mirantis.net/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/*
#
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") .
