Add header guard to functions/functions-common
To avoid sourcing this twice and getting globals mixed up,
particularly when using multiple plugins, add a "header guard" that
ensures we only source it once.
In general I don't think functions/functions-common have been written
or considered to be idempotent. I don't think going down that path is
going to be a long-term solution as it's easy to break.
Change-Id: Idca49eb996d2b7ff3779ec27ed672a2da7852590
Closes-Bug: #1469178
diff --git a/functions b/functions
index 1668e16..e4aea67 100644
--- a/functions
+++ b/functions
@@ -10,6 +10,10 @@
# - ``GLANCE_HOSTPORT``
#
+# ensure we don't re-source this in the same environment
+[[ -z "$_DEVSTACK_FUNCTIONS" ]] || return 0
+declare -r _DEVSTACK_FUNCTIONS=1
+
# Include the common functions
FUNC_DIR=$(cd $(dirname "${BASH_SOURCE:-$0}") && pwd)
source ${FUNC_DIR}/functions-common
diff --git a/functions-common b/functions-common
index 061a935..5f22bf0 100644
--- a/functions-common
+++ b/functions-common
@@ -36,6 +36,10 @@
XTRACE=$(set +o | grep xtrace)
set +o xtrace
+# ensure we don't re-source this in the same environment
+[[ -z "$_DEVSTACK_FUNCTIONS_COMMON" ]] || return 0
+declare -r _DEVSTACK_FUNCTIONS_COMMON=1
+
# Global Config Variables
declare -A GITREPO
declare -A GITBRANCH