52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
# Neutron loadbalancer plugin
|
|
# ---------------------------
|
|
|
|
# Save trace setting
|
|
MY_XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
|
|
AGENT_LBAAS_BINARY="$NEUTRON_BIN_DIR/neutron-lbaas-agent"
|
|
LBAAS_PLUGIN=neutron.services.loadbalancer.plugin.LoadBalancerPlugin
|
|
|
|
function neutron_agent_lbaas_install_agent_packages {
|
|
if is_ubuntu || is_fedora; then
|
|
install_package haproxy
|
|
elif is_suse; then
|
|
### FIXME: Find out if package can be pushed to Factory
|
|
echo "HAProxy packages can be installed from server:http project in OBS"
|
|
fi
|
|
}
|
|
|
|
function neutron_agent_lbaas_configure_common {
|
|
_neutron_service_plugin_class_add $LBAAS_PLUGIN
|
|
}
|
|
|
|
function neutron_agent_lbaas_configure_agent {
|
|
LBAAS_AGENT_CONF_PATH=/etc/neutron/services/loadbalancer/haproxy
|
|
mkdir -p $LBAAS_AGENT_CONF_PATH
|
|
|
|
LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
|
|
|
|
cp $NEUTRON_DIR/etc/lbaas_agent.ini $LBAAS_AGENT_CONF_FILENAME
|
|
|
|
# ovs_use_veth needs to be set before the plugin configuration
|
|
# occurs to allow plugins to override the setting.
|
|
iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT ovs_use_veth $Q_OVS_USE_VETH
|
|
|
|
neutron_plugin_setup_interface_driver $LBAAS_AGENT_CONF_FILENAME
|
|
|
|
if is_fedora; then
|
|
iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT user_group "nobody"
|
|
iniset $LBAAS_AGENT_CONF_FILENAME haproxy user_group "nobody"
|
|
fi
|
|
}
|
|
|
|
function neutron_lbaas_stop {
|
|
pids=$(ps aux | awk '/haproxy/ { print $2 }')
|
|
[ ! -z "$pids" ] && sudo kill $pids
|
|
}
|
|
|
|
# Restore xtrace
|
|
$MY_XTRACE
|