Support reading Kayobe environment name from file
If using separate branches for each environment, it can be useful to read the environment name from a file committed to each branch. Or, if sharing the same branch for all environments, it can be useful to set the default environment to one with lower impact, e.g. dev or staging. If no --environment option is specified and a .environment file exists at the root of the directory, use its content as KAYOBE_ENVIRONMENT. Change-Id: I22b2b466e47a3b4d96931d754a4de7544f0ada5d (cherry picked from commit 2af2c3a3b5387c577801b165ecd749fe782fddb9)
This commit is contained in:
parent
f1d98a9394
commit
df9ae70899
38
kayobe-env
38
kayobe-env
@ -36,6 +36,23 @@ export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible}
|
||||
# issues with symlinks on Windows hosts.
|
||||
export KOLLA_VENV_PATH=~/kolla-venv
|
||||
|
||||
function check_and_export_env {
|
||||
# Look for existing Kayobe environments
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then
|
||||
export KAYOBE_ENVIRONMENT="${kayobe_env}"
|
||||
echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}"
|
||||
return 0
|
||||
else
|
||||
echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function usage {
|
||||
echo "usage: ${BASH_SOURCE[0]:-${(%):-%x}} [--environment <env-name>]"
|
||||
return 1
|
||||
@ -44,21 +61,14 @@ function usage {
|
||||
if [ "$#" -ge 1 ]; then
|
||||
if [ "$1" = "--environment" -a "$#" -eq 2 ]; then
|
||||
kayobe_env="$2"
|
||||
# Look for existing Kayobe environments
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then
|
||||
export KAYOBE_ENVIRONMENT="${kayobe_env}"
|
||||
echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}"
|
||||
return 0
|
||||
else
|
||||
echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}"
|
||||
return 1
|
||||
fi
|
||||
check_and_export_env
|
||||
else
|
||||
usage
|
||||
fi
|
||||
return $?
|
||||
fi
|
||||
|
||||
if [[ -f "$KAYOBE_CONFIG_ROOT/.environment" ]]; then
|
||||
kayobe_env=$(cat "$KAYOBE_CONFIG_ROOT/.environment")
|
||||
check_and_export_env
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user