diff --git a/tests/.placeholder b/tests/.placeholder
new file mode 100644
index 00000000..c5b75f6f
--- /dev/null
+++ b/tests/.placeholder
@@ -0,0 +1,4 @@
+# This placeholder is here to ensure that git
+# does not remove this directory. The directory
+# is used by run_tests.sh to symlink the common
+# tests folder.
diff --git a/tests/tests-repo-clone.sh b/tests/tests-repo-clone.sh
deleted file mode 100755
index 5ad509c5..00000000
--- a/tests/tests-repo-clone.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/bash
-# Copyright 2017, Rackspace US, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# PURPOSE:
-# This script clones the openstack-ansible-tests repository to the
-# tests/common folder in order to be able to re-use test components
-# for role testing.
-
-# WARNING:
-# This file is maintained in the openstack-ansible-tests repository:
-# https://git.openstack.org/cgit/openstack/openstack-ansible-tests
-# If you need to change this script, then propose the change there.
-# Once it merges, the change will be replicated to the other repositories.
-
-## Shell Opts ----------------------------------------------------------------
-
-set -e
-
-## Vars ----------------------------------------------------------------------
-
-export TESTING_HOME=${TESTING_HOME:-$HOME}
-export WORKING_DIR=${WORKING_DIR:-$(pwd)}
-export CLONE_UPGRADE_TESTS=${CLONE_UPGRADE_TESTS:-no}
-export ZUUL_TESTS_CLONE_LOCATION="/home/zuul/src/git.openstack.org/openstack/openstack-ansible-tests"
-
-## Functions -----------------------------------------------------------------
-
-function create_tests_clonemap {
-
-# Prepare the clonemap for zuul-cloner to use
-cat > ${TESTING_HOME}/tests-clonemap.yaml << EOF
-clonemap:
-  - name: openstack/openstack-ansible-tests
-    dest: ${WORKING_DIR}/tests/common
-EOF
-
-}
-
-## Main ----------------------------------------------------------------------
-
-# If zuul-cloner is present, use it so that we
-# also include any dependent patches from the
-# tests repo noted in the commit message.
-# We only want to use zuul-cloner if we detect
-# zuul v2 running, so we check for the presence
-# of the ZUUL_REF environment variable.
-# ref: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/filter/zuul_filters.py?h=feature/zuulv3#n17
-if [[ -x /usr/zuul-env/bin/zuul-cloner ]] && [[ "${ZUUL_REF:-none}" != "none" ]]; then
-
-    # Prepare the clonemap for zuul-cloner to use
-    create_tests_clonemap
-
-    # Execute the clone
-    /usr/zuul-env/bin/zuul-cloner \
-        --cache-dir /opt/git \
-        --map ${TESTING_HOME}/tests-clonemap.yaml \
-        git://git.openstack.org \
-        openstack/openstack-ansible-tests
-
-    # Clean up the clonemap.
-    rm -f ${TESTING_HOME}/tests-clonemap.yaml
-
-# Alternatively, use a simple git-clone. We do
-# not re-clone if the directory exists already
-# to prevent overwriting any local changes which
-# may have been made.
-elif [[ ! -d tests/common ]]; then
-
-    # The tests repo doesn't need a clone, we can just
-    # symlink it. As zuul v3 clones into a folder called
-    # 'workspace' we have to use one of its environment
-    # variables to determine the project name.
-    if [[ "${ZUUL_SHORT_PROJECT_NAME:-none}" == "openstack-ansible-tests" ]] ||\
-       [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then
-        ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common
-
-    # In zuul v3 any dependent repository is placed into
-    # /home/zuul/src/git.openstack.org, so we check to see
-    # if there is a tests checkout there already. If so, we
-    # symlink that and use it.
-    elif [[ -d "${ZUUL_TESTS_CLONE_LOCATION}" ]]; then
-        ln -s "${ZUUL_TESTS_CLONE_LOCATION}" ${WORKING_DIR}/tests/common
-
-    # Otherwise we're clearly not in zuul or using a previously setup
-    # repo in some way, so just clone it from upstream.
-    else
-        git clone \
-            https://git.openstack.org/openstack/openstack-ansible-tests \
-            ${WORKING_DIR}/tests/common
-    fi
-fi
-
-# If this test set includes an upgrade test, the
-# previous stable release tests repo must also be
-# cloned.
-# Note:
-# Dependent patches to the previous stable release
-# tests repo are not supported.
-if [[ "${CLONE_UPGRADE_TESTS}" == "yes" ]]; then
-    if [[ ! -d "${WORKING_DIR}/tests/common/previous" ]]; then
-        git clone -b stable/queens \
-            https://git.openstack.org/openstack/openstack-ansible-tests \
-            ${WORKING_DIR}/tests/common/previous
-  fi
-fi
diff --git a/tox.ini b/tox.ini
index 2c050d7b..b3c86b2e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -55,7 +55,6 @@ commands =
 
 [testenv:pep8]
 commands =
-    bash -c "{toxinidir}/tests/tests-repo-clone.sh"
     bash -c "{toxinidir}/tests/common/test-pep8.sh"
 
 
@@ -68,7 +67,6 @@ ignore=F403
 
 [testenv:bashate]
 commands =
-    bash -c "{toxinidir}/tests/tests-repo-clone.sh"
     bash -c "{toxinidir}/tests/common/test-bashate.sh"