devstack/lib/quantum_plugins/agent_loadbalancer
Eugene Nikanorov b7d8284271 Implements blueprint quantum-lbaas-plugin-support
Add support for quantum lbaas plugin.
Configure service_plugins and lbaas agent
in case q-lbaas service is enabled in localrc

Change-Id: Iebaa1ed6a7209175504230faf802a94dc841392f
2013-03-06 18:05:23 +04:00

46 lines
1.4 KiB
Plaintext

# Quantum loadbalancer plugin
# ---------------------------
# Save trace setting
MY_XTRACE=$(set +o | grep xtrace)
set +o xtrace
AGENT_LBAAS_BINARY="$QUANTUM_DIR/bin/quantum-lbaas-agent"
function quantum_agent_lbaas_install_agent_packages() {
if is_ubuntu || is_fedora; then
install_package haproxy
fi
}
function quantum_agent_lbaas_configure_common() {
if [[ $Q_SERVICE_PLUGIN_CLASSES == '' ]]; then
Q_SERVICE_PLUGIN_CLASSES="quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin"
else
Q_SERVICE_PLUGIN_CLASSES="$Q_SERVICE_PLUGIN_CLASSES,quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin"
fi
}
function quantum_agent_lbaas_configure_agent() {
LBAAS_AGENT_CONF_PATH=/etc/quantum/plugins/services/agent_loadbalancer
mkdir -p $LBAAS_AGENT_CONF_PATH
LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
cp $QUANTUM_DIR/etc/lbaas_agent.ini /$LBAAS_AGENT_CONF_FILENAME
if [[ $Q_PLUGIN == 'linuxbridge' || $Q_PLUGIN == 'brocade' ]]; then
iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT interface_driver "quantum.agent.linux.interface.BridgeInterfaceDriver"
else
iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT interface_driver "quantum.agent.linux.interface.OVSInterfaceDriver"
fi
if is_fedora; then
iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT user_group "nobody"
fi
}
# Restore xtrace
$MY_XTRACE