diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8fce603
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+data/
diff --git a/Dockerfile b/Dockerfile
index 988dcbc..7850555 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,28 +1,27 @@
 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"]
+    LANGUAGE=$LANG \
+    LOG_DIR='/root/tempest'
+SHELL ["/bin/bash", "-o", "pipefail", "-xec"]
 USER root
-# pre-update
+ADD data /var/lib/
+
+COPY extra/build.sh /
+COPY bin/entrypoint.sh /usr/bin/
+COPY bin/run_tempest.sh /usr/bin/run-tempest
+COPY bin/opencontrail/policy.json /etc/opencontrail/policy.json
+COPY bin/skiplists /var/lib/tempest/skiplists
+
+# Patch junitxml library to include skipped tests in the test report totals header
+COPY bin/patches/junitxml_init.patch /var/lib/junitxml_init.patch
+
+# Patch os_testr library to fix issue ralated with tempest black-list option
+COPY bin/patches/regex_builder.patch /var/lib/regex_builder.patch
+
 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 \
@@ -31,103 +30,23 @@
   && 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
-
+  && 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 ;
+  && pip install -U 'pip==18.0' \
+# Do main stuff
+  && /build.sh buildme \
+# Cleanup
+  && apt-get -y purge libx11-data xauth libxmuu1 libxcb1 libx11-6 libxext6 \
+  ppp pppconfig pppoeconf popularity-contest cpp gcc g++ libssl-doc \
+  && apt-get -y autoremove; apt-get -y clean \
+  && rm -rf /root/.cache \
+  && rm -rf /var/lib/apt/lists/*
 
-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
+RUN patch /usr/local/lib/python2.7/dist-packages/junitxml/__init__.py /var/lib/junitxml_init.patch
+RUN patch /usr/local/lib/python2.7/dist-packages/os_testr/regex_builder.py /var/lib/regex_builder.patch
 
 WORKDIR /var/lib/tempest/
 ENTRYPOINT ["/usr/bin/entrypoint.sh"]
 
-# Build
-# docker build -t docker-ci-tempest:$(date "+%Y_%m_%d_%H_%M_%S") .
+# docker build --no-cache -t docker-ci-tempest:$(date "+%Y_%m_%d_%H_%M_%S") .
diff --git a/bin/ssh/config b/bin/ssh/config
deleted file mode 100644
index 6865806..0000000
--- a/bin/ssh/config
+++ /dev/null
@@ -1,5 +0,0 @@
-host gerrit.mcp.mirantis.com
-  HostName gerrit.mcp.mirantis.com
-  User mcp-jenkins
-  IdentityFile /root/.ssh/mcp-jenkins.key
-  StrictHostKeyChecking no
\ No newline at end of file
diff --git a/bin/ssh/mcp-jenkins.key b/bin/ssh/mcp-jenkins.key
deleted file mode 100644
index 67fcbfe..0000000
--- a/bin/ssh/mcp-jenkins.key
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-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
------END RSA PRIVATE KEY-----
diff --git a/extra/build.sh b/extra/build.sh
new file mode 120000
index 0000000..ae5c29e
--- /dev/null
+++ b/extra/build.sh
@@ -0,0 +1 @@
+pre-build.sh
\ No newline at end of file
diff --git a/extra/pre-build.sh b/extra/pre-build.sh
new file mode 100755
index 0000000..ed1748b
--- /dev/null
+++ b/extra/pre-build.sh
@@ -0,0 +1,135 @@
+#!/bin/bash
+
+set -ex
+
+export GERRIT_NAME=${GERRIT_NAME:-mcp-jenkins}
+# Would delete all .git folders.
+# Keep in mind, you would not able to get any other version or history!
+# Will ignore 'tempest' itself bz of:
+# ```
+#   Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository.
+#   It's also possible that there is a mismatch between the package name in setup.cfg and the argument given to pbr.version.VersionInfo.
+#   Project name tempest was given, but was not able to be found.
+# ```
+# FIXME|TODO Disabled by default.
+# Currently, pip not able to install any package w\o .git directory.
+# Should it be re-writed to tgz install or whatever?
+#export RELEASE_BUILD=${RELEASE_BUILD:-true}
+RELEASE_BUILD=false
+#
+export TEMPEST_TAG="${TEMPEST_TAG:-mcp/pike}"
+export HORIZON_TAG="${HORIZON_TAG:-mcp/pike}"
+export BARBICAN_TAG="${BARBICAN_TAG:-mcp/pike}"
+export DESIGNATE_TAG="${DESIGNATE_TAG:-mcp/pike}"
+export HEAT_TAG="${HEAT_TAG:-mcp/pike}"
+export IRONIC_TAG="${IRONIC_TAG:-mcp/pike}"
+export MANILA_TAG="${MANILA_TAG:-mcp/pike}"
+export TELEMETRY_TAG="${TELEMETRY_TAG:-mcp/pike}"
+export OCTAVIA_TAG="${OCTAVIA_TAG:-mcp/pike}"
+export PATROLE_TAG="${PATROLE_TAG:-0.4.x}"
+export TUNGSTEN_TAG="${TUNGSTEN_TAG:-0.1.x}"
+# global openstack requirements repo
+# This is the commit where tempest version is 17.2.0 in u-c
+export UPPER_CONSTRAINTS_TAG="${UPPER_CONSTRAINTS_TAG:-83b1de74834fbcdbe749e270c29e76cdc28f85d5}"
+
+function prepare(){
+  # TODO migrate to downstrem mirror?
+  mkdir -p data; pushd data
+    if [ ! -d openstack_requirements ] ; then
+      git clone https://github.com/openstack/requirements.git openstack_requirements
+      pushd openstack_requirements; git checkout $UPPER_CONSTRAINTS_TAG; popd
+    fi
+    sed -i -e "s|tempest=.*|git+file:///var/lib/tempest@${TEMPEST_TAG}#egg=tempest|g" \
+    openstack_requirements/upper-constraints.txt;
+  #
+    if [ ! -d tempest-horizon-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest-horizon tempest-horizon-plugin
+      pushd tempest-horizon-plugin ; git checkout $HORIZON_TAG; popd
+    fi
+  #
+    if [ ! -d barbican-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/barbican-tempest-plugin
+      pushd barbican-tempest-plugin; git checkout $BARBICAN_TAG; popd
+    fi
+  #
+    if [ ! -d designate-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/designate-tempest-plugin
+      pushd designate-tempest-plugin; git checkout $DESIGNATE_TAG; popd;
+    fi
+  #
+    if [ ! -d heat-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/heat-tempest-plugin
+      pushd heat-tempest-plugin; git checkout $HEAT_TAG; popd
+    fi
+  #
+    if [ ! -d ironic-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/ironic-tempest-plugin
+      pushd ironic-tempest-plugin; git checkout $IRONIC_TAG;  popd;
+    fi
+  #
+    if [ ! -d manila-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/manila-tempest-plugin
+      pushd manila-tempest-plugin; git checkout $MANILA_TAG; popd;
+    fi
+  #
+    if [ ! -d telemetry-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/telemetry-tempest-plugin
+      pushd telemetry-tempest-plugin; git checkout $TELEMETRY_TAG; popd;
+    fi
+  #
+    if [ ! -d octavia-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/octavia-tempest-plugin
+      pushd octavia-tempest-plugin; git checkout $OCTAVIA_TAG; popd;
+    fi
+  #
+    if [ ! -d patrole-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/patrole patrole-tempest-plugin
+      pushd patrole-tempest-plugin; git checkout $PATROLE_TAG; popd;
+    fi
+  #
+    if [ ! -d tungsten-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/contrail/tungsten-tempest tungsten-tempest-plugin
+      pushd tungsten-tempest-plugin; git checkout $TUNGSTEN_TAG; popd;
+    fi
+  #
+    if [ ! -d tempest ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest tempest
+      pushd tempest ; git checkout $TEMPEST_TAG; popd
+    fi
+  #
+    if [[ "$(echo ${RELEASE_BUILD} | tr [:upper:] [:lower:] )" == "true" ]]; then
+      find . -maxdepth 2 -type d -iname .git -not -path '*tempest/.git*' | xargs --no-run-if-empty rm -rf
+      find . -maxdepth 2 -type f -iname .gitignore -or -iname .gitreview | xargs --no-run-if-empty rm -v
+    fi
+  popd
+  }
+
+function buildme(){
+  echo "=== Installing plugins"
+  plugins="tempest-horizon-plugin barbican-tempest-plugin designate-tempest-plugin heat-tempest-plugin ironic-tempest-plugin"
+  plugins="${plugins} manila-tempest-plugin telemetry-tempest-plugin octavia-tempest-plugin patrole-tempest-plugin tungsten-tempest-plugin"
+  for plugin in ${plugins}; do
+    echo "=== Installing plugin: ${plugin}"
+    pushd /var/lib/${plugin}
+      pip install --constraint /var/lib/openstack_requirements/upper-constraints.txt -r requirements.txt .
+    popd
+  done
+  echo "=== Installing tempest itself"
+  pushd /var/lib/tempest/
+    pip install .
+  popd
+  pip install junitxml
+  echo "BUILD_TIMESTAMP=$(date '+%Y-%m-%d-%H-%M-%S' -u)" > /etc/build_timestamp
+}
+
+############# body ############################################################
+
+case "$1" in
+
+buildme)  echo "Attempt to buildme"
+   buildme
+   ;;
+*) echo "Attempt to prepare.."
+   prepare
+   ;;
+esac
diff --git a/pre-build.sh b/pre-build.sh
new file mode 120000
index 0000000..005ff1e
--- /dev/null
+++ b/pre-build.sh
@@ -0,0 +1 @@
+extra/pre-build.sh
\ No newline at end of file
