lib/neutron_plugins/openvswitch_agent
e263c82e
 #!/bin/bash
 #
b05c8769
 # Neutron Open vSwitch L2 agent
c9b0f1ab
 # -----------------------------
 
 # Save trace setting
523f4880
 _XTRACE_NEUTRON_OVSL2=$(set +o | grep xtrace)
c9b0f1ab
 set +o xtrace
 
b05c8769
 source $TOP_DIR/lib/neutron_plugins/ovs_base
c9b0f1ab
 
aee18c74
 function neutron_plugin_create_nova_conf {
b05c8769
     _neutron_ovs_base_configure_nova_vif_driver
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_install_agent_packages {
b05c8769
     _neutron_ovs_base_install_agent_packages
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_configure_dhcp_agent {
2a242519
     local conf_file=$1
14b12a74
     :
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_configure_l3_agent {
2a242519
     local conf_file=$1
b05c8769
     _neutron_ovs_base_configure_l3_agent
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_configure_plugin_agent {
c9b0f1ab
     # Setup integration bridge
b05c8769
     _neutron_ovs_base_setup_bridge $OVS_BRIDGE
     _neutron_ovs_base_configure_firewall_driver
c9b0f1ab
 
     # Setup agent for tunneling
bd085505
     if [[ "$OVS_ENABLE_TUNNELING" == "True" ]]; then
6f335b9a
         iniset /$Q_PLUGIN_CONF_FILE ovs local_ip $TUNNEL_ENDPOINT_IP
d48d672a
         iniset /$Q_PLUGIN_CONF_FILE ovs tunnel_bridge $OVS_TUNNEL_BRIDGE
c9b0f1ab
     fi
 
     # Setup physical network bridge mappings.  Override
     # ``OVS_VLAN_RANGES`` and ``OVS_BRIDGE_MAPPINGS`` in ``localrc`` for more
     # complex physical network configurations.
d6a7b73f
     if [[ "$PHYSICAL_NETWORK" != "" ]] && [[ "$OVS_PHYSICAL_BRIDGE" != "" ]]; then
         if [[ "$OVS_BRIDGE_MAPPINGS" == "" ]]; then
             OVS_BRIDGE_MAPPINGS=$PHYSICAL_NETWORK:$OVS_PHYSICAL_BRIDGE
         fi
c9b0f1ab
 
54d16f70
         # Configure bridge manually with physical interface as port for multi-node
         _neutron_ovs_base_add_bridge $OVS_PHYSICAL_BRIDGE
c9b0f1ab
     fi
     if [[ "$OVS_BRIDGE_MAPPINGS" != "" ]]; then
d42634ff
         iniset /$Q_PLUGIN_CONF_FILE ovs bridge_mappings $OVS_BRIDGE_MAPPINGS
c9b0f1ab
     fi
b05c8769
     AGENT_BINARY="$NEUTRON_BIN_DIR/neutron-openvswitch-agent"
c9b0f1ab
 
2307f9de
     iniset /$Q_PLUGIN_CONF_FILE agent tunnel_types $Q_TUNNEL_TYPES
c1605550
     iniset /$Q_PLUGIN_CONF_FILE ovs datapath_type $OVS_DATAPATH_TYPE
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_setup_interface_driver {
c9b0f1ab
     local conf_file=$1
dca49de2
     iniset $conf_file DEFAULT interface_driver openvswitch
c9b0f1ab
 }
 
aee18c74
 function neutron_plugin_check_adv_test_requirements {
c9b0f1ab
     is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
 }
 
 # Restore xtrace
523f4880
 $_XTRACE_NEUTRON_OVSL2