From 4324f4ecd99f3cc50dea585bc8b5a680327e54bc Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Thu, 14 Sep 2017 12:59:25 -0600 Subject: [PATCH] Fix devstack python detection if python3 is missing On platforms without python3 installed devstack fails the python version check. This does it more gracefully. Change-Id: I4d79a41eb2d66852ab1a1aa8bd383f8e3e89cdc0 --- functions-common | 5 ++++- stackrc | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/functions-common b/functions-common index deebdec249..b9bf0c9788 100644 --- a/functions-common +++ b/functions-common @@ -2080,7 +2080,10 @@ function is_provider_network { function _get_python_version { local interp=$1 local version - version=$($interp -c 'import sys; print("%s.%s" % sys.version_info[0:2])') + # disable erroring out here, otherwise if python 3 doesn't exist we fail hard. + if [[ -x $(which $interp) ]]; then + version=$($interp -c 'import sys; print("%s.%s" % sys.version_info[0:2])') + fi echo ${version} } diff --git a/stackrc b/stackrc index 92a939f164..d60e186448 100644 --- a/stackrc +++ b/stackrc @@ -131,11 +131,11 @@ export DISABLED_PYTHON3_PACKAGES="" # version of Python 3 to this variable will install the app using that # version of the interpreter instead of 2.7. _DEFAULT_PYTHON3_VERSION="$(_get_python_version python3)" -export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION}} +export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION:-3.5}} # Just to be more explicit on the Python 2 version to use. _DEFAULT_PYTHON2_VERSION="$(_get_python_version python2)" -export PYTHON2_VERSION=${PYTHON2_VERSION:-${_DEFAULT_PYTHON2_VERSION}} +export PYTHON2_VERSION=${PYTHON2_VERSION:-${_DEFAULT_PYTHON2_VERSION:-2.7}} # allow local overrides of env variables, including repo config if [[ -f $RC_DIR/localrc ]]; then