nova-dpm/devstack/plugin.sh
Markus Zoeller 384bbd5c40 Remove config option [dpm].host
The DPM driver manages so-called "cpc-subsets". Basically, this is
a logically portion cut out of a system z CPC. For the Nova driver,
this emulates a "host". This results in this multiplicity:

    DPM Driver 1 --- 1 CPC-subset (=host) * --- 1 CPC

Having the two config options "[DEFAULT].host" and "[dpm].host", which
mean the same thing, could be confusing for a user. Also, this can
lead to issues if both are not in sync, for example during the
Nova<->Neutron communication where the NICs get created.

To resolve this, this change removes the config option "[dpm].host"
and uses "[DEFAULT].host" only. As the config option wasn't yet part
of any release, we don't need to do the usual deprecation policy.

closes bug: 1655043

Change-Id: Ibb2c23e248c4390e2ec19e7aa9811abdc24fea25
2017-02-03 08:34:43 +01:00

134 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
#
# plugin.sh - Devstack extras script to install and configure the nova compute
# driver for dpm
# This driver is enabled in override-defaults with:
# VIRT_DRIVER=${VIRT_DRIVER:-dpm}
# The following entry points are called in this order for nova-dpm:
#
# - install_nova_dpm
# - configure_nova_dpm
# - start_nova_dpm
# - stop_nova_dpm
# - cleanup_nova_dpm
# Save trace setting
MY_XTRACE=$(set +o | grep xtrace)
set +o xtrace
# Defaults
# --------
# Set up base directories
NOVA_DIR=${NOVA_DIR:-$DEST/nova}
NOVA_CONF_DIR=${NOVA_CONF_DIR:-/etc/nova}
NOVA_CONF=${NOVA_CONF:-NOVA_CONF_DIR/nova.conf}
# nova-dpm directories
NOVA_DPM_DIR=${NOVA_DPM_DIR:-${DEST}/nova-dpm}
NOVA_DPM_PLUGIN_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
# Support entry points installation of console scripts
if [[ -d $NOVA_DIR/bin ]]; then
NOVA_BIN_DIR=$NOVA_DIR/bin
echo_summary $NOVA_BIN_DIR
else
NOVA_BIN_DIR=$(get_python_exec_prefix)
echo_summary $NOVA_BIN_DIR
fi
# Source functions
source $NOVA_DPM_PLUGIN_DIR/dpm-functions.sh
# Entry Points
# ------------
# configure_nova_dpm() - Configure the system to use nova_dpm
function configure_nova_dpm {
# Default configuration
iniset $NOVA_CONF DEFAULT compute_driver $DPM_DRIVER
# dpm configuration
iniset $NOVA_CONF dpm hmc $HMC
iniset $NOVA_CONF dpm hmc_username $HMC_USERNAME
iniset $NOVA_CONF dpm hmc_password $HMC_PASSWORD
iniset $NOVA_CONF dpm cpc_object_id $CPC_OBJECT_ID
iniset $NOVA_CONF dpm max_processors $MAX_PROC
iniset $NOVA_CONF dpm max_memory $MAX_MEM
iniset $NOVA_CONF dpm max_instances $MAX_INSTANCES
}
# install_nova_dpm() - Install nova_dpm and necessary dependencies
function install_nova_dpm {
if [[ "$INSTALL_ZHMCCLIENT" == "True" ]]; then
echo_summary "Installing zhmcclient"
install_zhmcclient
fi
# Install the nova-dpm package
setup_develop $NOVA_DPM_DIR
}
# start_nova_dpm() - Start the nova_dpm process
function start_nova_dpm {
# This function intentionally functionless as the
# compute service will start normally
:
}
# stop_nova_dpm() - Stop the nova_dpm process
function stop_nova_dpm {
# This function intentionally left blank as the
# compute service will stop normally
:
}
# cleanup_nova_dpm() - Cleanup the nova_dpm process
function cleanup_nova_dpm {
# This function intentionally left blank
:
}
# Core Dispatch
# -------------
if is_service_enabled nova-dpm; then
if [[ "$1" == "stack" && "$2" == "install" ]]; then
# Perform installation of nova-dpm
echo_summary "Installing nova-dpm"
install_nova_dpm
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
# Lay down configuration post install
echo_summary "Configuring nova-dpm"
configure_nova_dpm
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# Initialize and start the nova-dpm/nova-compute service
echo_summary "Starting nova-dpm"
start_nova_dpm
fi
if [[ "$1" == "unstack" ]]; then
# Shut down nova-dpm/nova-compute
echo_summary "Stopping nova-dpm"
stop_nova_dpm
fi
if [[ "$1" == "clean" ]]; then
# Remove any lingering configuration data
# clean.sh first calls unstack.sh
echo_summary "Cleaning up nova-dpm and associated data"
cleanup_nova_dpm
cleanup_zhmcclient
fi
fi
# Restore xtrace
$MY_XTRACE
# Local variables:
# mode: shell-script
# End: