# NOTE(xiaohhui): By default, devstack will set Q_AGENT as openvswitch. # Here we deny that, because there is no agent in DF. But most of # functions in lib/neutron_plugins/openvswitch_agent are needed. So, # lib/neutron_plugins/openvswitch_agent is still used here. And override # functions can be added in this file. Q_AGENT=${Q_AGENT:-" "} source $TOP_DIR/lib/neutron_plugins/openvswitch_agent # This function is invoked by DevStack's Neutron plugin setup # code and is being overridden here since the DF devstack # plugin will handle the install. function neutron_plugin_install_agent_packages { : } # Workaround for devstack/systemd, which will try to define q-agt even though # it's disabled. AGENT_BINARY=$(which true) if is_service_enabled df-l3-agent ; then AGENT_L3_BINARY=${AGENT_L3_BINARY:-"$(get_python_exec_prefix)/df-l3-agent"} enable_service q-l3 fi if is_service_enabled df-metadata ; then disable_service q-meta fi DRAGONFLOW_CONF=/etc/neutron/dragonflow.ini DRAGONFLOW_PUBLISHER_CONF=/etc/neutron/dragonflow_publisher.ini DRAGONFLOW_DATAPATH=/etc/neutron/dragonflow_datapath_layout.yaml Q_PLUGIN_EXTRA_CONF_PATH=/etc/neutron Q_PLUGIN_EXTRA_CONF_FILES=(dragonflow.ini) Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-"df"} if [[ -z ${ML2_L3_PLUGIN} ]]; then if is_service_enabled q-l3 ; then ML2_L3_PLUGIN="df-l3" else ML2_L3_PLUGIN="df-l3-agentless" fi fi if [[ "$ENABLE_DPDK" == "True" ]]; then # By default, dragonflow uses OVS kernel datapath. If you want to use # user space datapath powered by DPDK, please use 'netdev'. OVS_DATAPATH_TYPE=netdev fi