Add python_version function to functions-common

This makes it possible to list virtual site-package directories
without statically stating the python version, which is a bit ugly.

Change-Id: I3e7ac39eb43cdc4f656e0c90f3bfb23545722aef
diff --git a/functions-common b/functions-common
index 4d07c03..d28ef85 100644
--- a/functions-common
+++ b/functions-common
@@ -1897,6 +1897,12 @@
     echo $subnet
 }
 
+# Return the current python as "python<major>.<minor>"
+function python_version {
+    local python_version=$(python -c 'import sys; print("%s.%s" % sys.version_info[0:2])')
+    echo "python${python_version}"
+}
+
 # Service wrapper to restart services
 # restart_service service-name
 function restart_service {
diff --git a/lib/keystone b/lib/keystone
index 997bb14..0f369af 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -164,7 +164,7 @@
         keystone_auth_port=$KEYSTONE_AUTH_PORT_INT
     fi
     if [[ ${USE_VENV} = True ]]; then
-        venv_path="python-path=${PROJECT_VENV["keystone"]}/lib/python2.7/site-packages"
+        venv_path="python-path=${PROJECT_VENV["keystone"]}/lib/$(python_version)/site-packages"
     fi
 
     # copy proxy vhost and wsgi file
diff --git a/lib/nova b/lib/nova
index 6ac9da3..7d2145b 100644
--- a/lib/nova
+++ b/lib/nova
@@ -259,7 +259,7 @@
         nova_keyfile="SSLCertificateKeyFile $NOVA_SSL_KEY"
     fi
     if [[ ${USE_VENV} = True ]]; then
-        venv_path="python-path=${PROJECT_VENV["nova"]}/lib/python2.7/site-packages"
+        venv_path="python-path=${PROJECT_VENV["nova"]}/lib/$(python_version)/site-packages"
     fi
 
     # copy proxy vhost and wsgi helper files