blob: f465cc94b4548bf02bcc8b27ba8e2eb69d7cfe14 [file] [log] [blame]
Doug Wiegley93e682c2015-03-03 10:31:30 -07001# Neutron loadbalancer plugin
2# ---------------------------
3
4# Save trace setting
5LB_XTRACE=$(set +o | grep xtrace)
6set +o xtrace
7
8
9AGENT_LBAAS_BINARY="$NEUTRON_BIN_DIR/neutron-lbaas-agent"
10LBAAS_PLUGIN=neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPlugin
11
12function neutron_agent_lbaas_install_agent_packages {
13 if is_ubuntu || is_fedora || is_suse; then
14 install_package haproxy
15 fi
16}
17
18function neutron_agent_lbaas_configure_common {
19 _neutron_service_plugin_class_add $LBAAS_PLUGIN
20 _neutron_deploy_rootwrap_filters $NEUTRON_LBAAS_DIR
21}
22
23function neutron_agent_lbaas_configure_agent {
24 LBAAS_AGENT_CONF_PATH=/etc/neutron/services/loadbalancer/haproxy
25 mkdir -p $LBAAS_AGENT_CONF_PATH
26
27 LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
28
29 cp $NEUTRON_LBAAS_DIR/etc/lbaas_agent.ini $LBAAS_AGENT_CONF_FILENAME
30
31 # ovs_use_veth needs to be set before the plugin configuration
32 # occurs to allow plugins to override the setting.
33 iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT ovs_use_veth $Q_OVS_USE_VETH
34
35 neutron_plugin_setup_interface_driver $LBAAS_AGENT_CONF_FILENAME
36
37 if is_fedora; then
38 iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT user_group "nobody"
39 iniset $LBAAS_AGENT_CONF_FILENAME haproxy user_group "nobody"
40 fi
41}
42
43function neutron_lbaas_stop {
44 pids=$(ps aux | awk '/haproxy/ { print $2 }')
45 [ ! -z "$pids" ] && sudo kill $pids
46}
47
48# Restore xtrace
49$LB_XTRACE