cinderlib/devstack/plugin.sh

41 lines
1.3 KiB
Bash

#!/bin/bash
# plugin.sh - DevStack plugin.sh dispatch script for cinderlib
_XTRACE_CINDERLIB=$(set +o | grep xtrace)
function install_cinderlib {
if use_library_from_git "cinderlib"; then
git_clone_by_name "cinderlib"
setup_dev_lib "cinderlib"
else
pip_install cinderlib
fi
}
stable_compare="stable/[a-r]"
# Cinderlib only makes sense if Cinder is enabled and we are in stein or later
if [[ ! "${GITBRANCH["cinderlib"]}" =~ $stable_compare ]] && is_service_enabled cinder; then
if [[ "$1" == "stack" && "$2" == "install" ]]; then
# Perform installation of service source
echo_summary "Installing cinderlib"
install_cinderlib
# Plugins such as Ceph configure themselves at post-config, so we have to
# configure ourselves at the next stage, "extra"
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# Generate the cinderlib configuration
echo_summary "Generating cinderlib initialization example python code"
sudo cinder-cfg-to-cinderlib-code $CINDER_CONF $CINDERLIB_SAMPLE
fi
if [[ "$1" == "clean" || "$1" == "unstack" ]]; then
echo_summary "Removing cinderlib and its code example from cinder.conf"
sudo rm -f $CINDERLIB_SAMPLE
pip_uninstall cinderlib
fi
fi
# Restore xtrace
$_XTRACE_CINDERLIB