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 eca73d0..2da265a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,29 +2,21 @@
 
 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
+    LANGUAGE=$LANG \
+    LOG_DIR='/root/tempest'
 SHELL ["/bin/bash", "-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
+
 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 \
@@ -33,104 +25,24 @@
   && 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==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 ;
+  && 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===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").
+# 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..3f5071b
--- /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 mine, 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.
+# ```
+export RELEASE_BUILD=${RELEASE_BUILD:-true}
+#
+export TEMPEST_TAG="${TEMPEST_TAG:-mcp/queens}"
+export HORIZON_TAG="${HORIZON_TAG:-mcp/queens}"
+export BARBICAN_TAG="${BARBICAN_TAG:-mcp/queens}"
+export DESIGNATE_TAG="${DESIGNATE_TAG:-mcp/queens}"
+export HEAT_TAG="${HEAT_TAG:-mcp/queens}"
+export IRONIC_TAG="${IRONIC_TAG:-mcp/queens}"
+export MANILA_TAG="${MANILA_TAG:-mcp/queens}"
+export TELEMETRY_TAG="${TELEMETRY_TAG:-mcp/queens}"
+export OCTAVIA_TAG="${OCTAVIA_TAG:-mcp/queens}"
+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 18.0.0 in u-c
+export UPPER_CONSTRAINTS_TAG="${UPPER_CONSTRAINTS_TAG:-6e64e622e8608ab817dbc809d99e02e4cfdd9f59}"
+
+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 ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/tempest tempest
+      pushd tempest ; git checkout $TEMPEST_TAG; popd
+    fi
+  #
+    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 tungsten-tempest-plugin ] ; then
+      git clone ssh://${GERRIT_NAME}@gerrit.mcp.mirantis.com:29418/packaging/sources/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 plugi-reqs"
+  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
+    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
