| # Neutron loadbalancer plugin | 
 | # --------------------------- | 
 |  | 
 | # Save trace setting | 
 | LB_XTRACE=$(set +o | grep xtrace) | 
 | set +o xtrace | 
 |  | 
 |  | 
 | AGENT_LBAAS_BINARY="$NEUTRON_BIN_DIR/neutron-lbaas-agent" | 
 | LBAAS_PLUGIN=neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPlugin | 
 |  | 
 | function neutron_agent_lbaas_install_agent_packages { | 
 |     if is_ubuntu || is_fedora || is_suse; then | 
 |         install_package haproxy | 
 |     fi | 
 | } | 
 |  | 
 | function neutron_agent_lbaas_configure_common { | 
 |     _neutron_service_plugin_class_add $LBAAS_PLUGIN | 
 |     _neutron_deploy_rootwrap_filters $NEUTRON_LBAAS_DIR | 
 | } | 
 |  | 
 | 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_LBAAS_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 | 
 | $LB_XTRACE |