Fix devstack plugin

When heat is enabled, both stack.sh and plugin try to do account
creation (as part of keystone startup which fails as heat is not yet
installed), intialize the db and start the services. In this patch
(which is a workaround), we'll use a set of dummy function calls to
avoid it. We'll remove these functions later(once we clean up devstack
stack.sh) and rename the currently used functions.

Change-Id: I84250d598ba76deae2a5bad6bbf3f0acfe1cfbe6
This commit is contained in:
rabi 2016-08-08 16:10:34 +05:30 committed by Rabi Mishra
parent b481a126c2
commit 96e9ff0042
2 changed files with 22 additions and 7 deletions

View File

@ -250,8 +250,13 @@ function configure_heat {
[ $err_count -eq 0 ] || die $LINENO "$err_count of the requested Heat plugins could not be installed."
}
# init_heat() - Initialize database
# dummy function called by stack.sh, remove it once moved to plugin
function init_heat {
:
}
# init_heat() - Initialize database
function init_heat_with_plugin {
# (re)create heat database
recreate_database heat
@ -294,8 +299,13 @@ function install_heat_other {
git_clone $DIB_UTILS_REPO $DIB_UTILS_DIR $DIB_UTILS_BRANCH
}
# start_heat() - Start running processes, including screen
# dummy function called by stack.sh, remove it once moved to plugin
function start_heat {
:
}
# start_heat() - Start running processes, including screen
function start_heat_with_plugin {
run_process h-eng "$HEAT_BIN_DIR/heat-engine --config-file=$HEAT_CONF"
# If the site is not enabled then we are in a grenade scenario
@ -397,8 +407,13 @@ function _config_heat_apache_wsgi {
}
# create_heat_accounts() - Set up common required heat accounts
# dummy function called by stack.sh, remove it once moved to plugin
function create_heat_accounts {
:
}
# create_heat_accounts() - Set up common required heat accounts
function create_heat_accounts_with_plugin {
if [[ "$HEAT_STANDALONE" != "True" ]]; then
create_service_user "heat" "admin"

View File

@ -8,7 +8,7 @@ echo_summary "heat's plugin.sh was called..."
source $DEST/heat/devstack/lib/heat
(set -o posix; set)
if is_service_enabled h-eng h-api h-api-cfn h-api-cw; then
if is_heat_enabled; then
if [[ "$1" == "stack" && "$2" == "install" ]]; then
echo_summary "Installing heat"
install_heat
@ -22,16 +22,16 @@ if is_service_enabled h-eng h-api h-api-cfn h-api-cw; then
configure_heat
if is_service_enabled key; then
create_heat_accounts
create_heat_accounts_with_plugin
fi
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# Initialize heat
init_heat
init_heat_with_plugin
# Start the heat API and heat taskmgr components
echo_summary "Starting heat"
start_heat
start_heat_with_plugin
if [ "$HEAT_BUILD_PIP_MIRROR" = "True" ]; then
echo_summary "Building Heat pip mirror"
build_heat_pip_mirror