diff --git a/tools/start b/tools/start
index bf7bd8735d057d3b9e2bf9ea560bfd72312fe7d2..d0d3f7bc48817bac7599c01d44bb94ec73f9ee35 100755
--- a/tools/start
+++ b/tools/start
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 ./tools/start-all-services
 ./tools/start-all-replications
diff --git a/tools/start-all-pods b/tools/start-all-pods
index 72c58078160bcb6a4fbf6faf6cf1acb3551d004e..8bad8d0ffe7ca077281cbf77f3c8bb094262cd6c 100755
--- a/tools/start-all-pods
+++ b/tools/start-all-pods
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 pods='
 rabbitmq
diff --git a/tools/start-all-replications b/tools/start-all-replications
index a605d4fb752c2e9acde1d1a11076eed57bd0ce47..8adc0430f28b21ebd57d3e12a91d9e05685c6b50 100755
--- a/tools/start-all-replications
+++ b/tools/start-all-replications
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 services='
 nova-compute
diff --git a/tools/start-all-services b/tools/start-all-services
index 3c073465f64b54fb64eabb3445853457cb0d5dbb..23a8e4c1ca1bcadf7a39eec30525761f3e25e483 100755
--- a/tools/start-all-services
+++ b/tools/start-all-services
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 services='
 ceilometer-api
diff --git a/tools/stop b/tools/stop
index 1a9b6fd10691782e84d327c7b3341663bff71c1e..2a914d91755a0ae67ad552c93ad581bac8b21b27 100755
--- a/tools/stop
+++ b/tools/stop
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 ./tools/stop-all-replications
 ./tools/stop-all-pods
diff --git a/tools/stop-all-pods b/tools/stop-all-pods
index 2a2d7d3abec19ba4a7d5d888d658dfd4973d0372..f18f822818f47551d6d83df9d4187e05b8a23d76 100755
--- a/tools/stop-all-pods
+++ b/tools/stop-all-pods
@@ -1,21 +1,18 @@
-#!/bin/sh
+#!/bin/bash
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
-# Delete the replication is not cleaning up its pods
-# These pods need to be deleted according to their UUID
-uuids=$(kubectl get pods -o json | jq '.[][].id' 2>/dev/null | grep -o -E '"[a-fA-F|0-9|\-]*' | cut -c 2- |  grep '\-')
-
-for uuid in $uuids; do
-    if [ $uuid ]; then
-	kubectl delete pod $uuid
-    fi
-done
-
-pods=$(kubectl get pods -o json| jq '.[][].id' 2>/dev/null)
-# Removes quotes from jquery
-pods=${pods//\"/}
+UUID_REGEX="[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}"
 
+pods=$(kubectl get pods -o template -t '{{range .items}}{{.id}} {{end}}')
 for pod in $pods; do
-    kubectl delete -f "k8s/pod/${pod}-pod.yaml" 2>/dev/null
+    if [[ $pod =~ $UUID_REGEX ]]; then
+	# Stopping a k8s replicationController doesn't delete the associated
+	# pods, which names are UUIDs.
+	# Assuming all pods named by UUID are leftover replication pods.
+	kubectl delete pod $pod
+    else
+	kubectl delete -f "k8s/pod/${pod}-pod.yaml" 2>/dev/null
+    fi
 done
diff --git a/tools/stop-all-replications b/tools/stop-all-replications
index 6bea193fd746a19c8d23000006c8ca25c27dae5d..014ecb3bf0d7361b5b1e867db89717bea6ecefb4 100755
--- a/tools/stop-all-replications
+++ b/tools/stop-all-replications
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 replication_ctrs=$(kubectl get replicationController | awk 'NR>1 {print $1}')
 
diff --git a/tools/stop-all-services b/tools/stop-all-services
index df5ce86d3e6a2d3724ed7cd90fd3ca1d22fd0f4e..14e4942b3cb2df1c37ff4d74b326f114b6442327 100755
--- a/tools/stop-all-services
+++ b/tools/stop-all-services
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
 services=$(kubectl get services | awk 'NR>1 {print $1}')
 
diff --git a/tools/update-build-links b/tools/update-build-links
index ac6fa53a89862d0513b2d05318ee0a42d4304e50..ef1468485afb23975735aa62a34dfd6964c5a37e 100755
--- a/tools/update-build-links
+++ b/tools/update-build-links
@@ -1,6 +1,8 @@
 #!/bin/sh
 
-cd $(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
+
 find docker -name Dockerfile | while read dockerfile; do
 	dir=${dockerfile%/*}
 	link=$(python -c 'import os,sys; print os.path.relpath(sys.argv[1], sys.argv[2])' \
diff --git a/tools/validate-all-json.sh b/tools/validate-all-json.sh
index ce85fadd6952cbeb6154f67d575c0d8c58a56a9f..87f1a9918cf07d72721b67fdca52cfd431eeb2cb 100755
--- a/tools/validate-all-json.sh
+++ b/tools/validate-all-json.sh
@@ -1,9 +1,8 @@
 #!/bin/sh
 
-TOPLEVEL=$(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
-cd $TOPLEVEL
-
-git ls-files -z '*.json' |
+find . -name '*.json' -print0 |
     xargs -0 python tools/validate-json.py || exit 1
 
diff --git a/tools/validate-all-maintainer.sh b/tools/validate-all-maintainer.sh
index a488385a1e154c899edb28af6839aae614f1fc43..7fc57422f43ebab3f75193e4983cfe45c32f7d3c 100755
--- a/tools/validate-all-maintainer.sh
+++ b/tools/validate-all-maintainer.sh
@@ -1,9 +1,8 @@
 #!/bin/sh
 
-TOPLEVEL=$(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
-cd $TOPLEVEL
-
-git ls-files -z '*/Dockerfile' |
+find docker -name Dockerfile -print0 |
     xargs -0 tools/validate-maintainer.sh || exit 1
 
diff --git a/tools/validate-all-yaml.sh b/tools/validate-all-yaml.sh
index 6a16d9a9800b7d9872baaa5cf9ad44e81f06903c..b19cfe18af9c4c08c5d395d3c43532e3a785f102 100755
--- a/tools/validate-all-yaml.sh
+++ b/tools/validate-all-yaml.sh
@@ -1,9 +1,8 @@
 #!/bin/sh
 
-TOPLEVEL=$(git rev-parse --show-toplevel)
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
 
-cd $TOPLEVEL
-
-git ls-files -z '*.yaml' |
+find . -name '*.yaml' -print0 |
     xargs -0 python tools/validate-yaml.py || exit 1