34f8c6a147
Different components need different config. Change-Id: Id73cd0dd7eb2abc2d411cc3d5abbbd4e3df58f0f
86 lines
2.7 KiB
Bash
86 lines
2.7 KiB
Bash
#!/bin/bash
|
|
# plugin.sh - devstack plugin for cyborg
|
|
|
|
# devstack plugin contract defined at:
|
|
# https://docs.openstack.org/devstack/latest/plugins.html
|
|
|
|
echo_summary "cyborg devstack plugin.sh called: $1/$2"
|
|
source $DEST/cyborg/devstack/lib/cyborg
|
|
source $DEST/cyborg/devstack/lib/opae
|
|
|
|
|
|
function pre_install_agent {
|
|
if is_service_enabled cyborg-agent; then
|
|
# stack/pre-install - Called after (OS) setup is complete and before
|
|
# project source is installed
|
|
echo_summary "Installing additional Cyborg packages"
|
|
if [[ "$OPAE_INSTALL_ENABLE" == "True" ]] && install_opae_packages; then
|
|
echo_summary "INFO: Additional Cyborg packages installed"
|
|
elif [[ "$OPAE_INSTALL_ENABLE" == "True" ]]; then
|
|
echo "WARNING: Failed to install additional Cyborg packages"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
function install_agent {
|
|
if is_service_enabled cyborg-agent; then
|
|
# stack/install - Called after the layer 1 and 2 projects source and
|
|
# their dependencies have been installed
|
|
echo_summary "Installing Cyborg"
|
|
if ! is_service_enabled n-cpu; then
|
|
source $RC_DIR/lib/nova_plugins/functions-libvirt
|
|
install_libvirt
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
function cleanup_agent {
|
|
if is_service_enabled cyborg-agent; then
|
|
if [[ "$OPAE_INSTALL_ENABLE" == "True" ]]; then
|
|
uninstall_opae_packages
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
if is_service_enabled cyborg-api cyborg-cond || is_service_enabled cyborg-agent; then
|
|
if [[ "$1" == "stack" ]]; then
|
|
if [[ "$2" == "pre-install" ]]; then
|
|
pre_install_agent
|
|
elif [[ "$2" == "install" ]]; then
|
|
install_agent
|
|
install_cyborg
|
|
elif [[ "$2" == "post-config" ]]; then
|
|
# stack/post-config - Called after the layer 0 and 2 services have been
|
|
# configured. All configuration files for enabled services should exist
|
|
# at this point.
|
|
echo_summary "Configuring Cyborg"
|
|
configure_cyborg
|
|
create_cyborg_accounts
|
|
elif [[ "$2" == "extra" ]]; then
|
|
# stack/extra - Called near the end after layer 1 and 2 services have
|
|
# been started.
|
|
# Initialize cyborg
|
|
init_cyborg
|
|
|
|
# Start the cyborg API and cyborg taskmgr components
|
|
echo_summary "Starting Cyborg"
|
|
start_cyborg
|
|
fi
|
|
fi
|
|
|
|
if [[ "$1" == "unstack" ]]; then
|
|
# unstack - Called by unstack.sh before other services are shut down.
|
|
stop_cyborg
|
|
fi
|
|
|
|
if [[ "$1" == "clean" ]]; then
|
|
# clean - Called by clean.sh before other services are cleaned, but after
|
|
# unstack.sh has been called.
|
|
cleanup_cyborg
|
|
cleanup_agent
|
|
fi
|
|
fi
|