df9ae70899
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)
75 lines
2.3 KiB
Plaintext
75 lines
2.3 KiB
Plaintext
# Copyright (c) 2017 StackHPC Ltd.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
KAYOBE_CONFIG_ROOT=$(dirname $(realpath ${BASH_SOURCE[0]}))
|
|
echo "Using Kayobe config from $KAYOBE_CONFIG_ROOT"
|
|
|
|
export KAYOBE_CONFIG_PATH=$KAYOBE_CONFIG_ROOT/etc/kayobe
|
|
export KOLLA_CONFIG_PATH=$KAYOBE_CONFIG_ROOT/etc/kolla
|
|
|
|
# NOTE: These paths can be modified depending on the local environment.
|
|
# These defaults are set based on the following directory structure:
|
|
#
|
|
# ${base_path}/
|
|
# src/
|
|
# kayobe/
|
|
# kayobe-config/
|
|
# kolla-ansible/
|
|
# venvs/
|
|
# kayobe/
|
|
# kolla-ansible/
|
|
base_path=$(realpath $KAYOBE_CONFIG_ROOT/../../)
|
|
export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible}
|
|
# Path to the kolla virtual environment.
|
|
# NOTE: This should not be in the Vagrant shared directory, as there are
|
|
# 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
|
|
}
|
|
|
|
if [ "$#" -ge 1 ]; then
|
|
if [ "$1" = "--environment" -a "$#" -eq 2 ]; then
|
|
kayobe_env="$2"
|
|
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
|