
Allows users to specify which virtual switch Quantum should use and inform Nova to use. It configures the quantum dhcp agent interface driver to bind to the correct switch and sets the vif_type that the BigSwitch/Floodlight plugin will send to Nova. Change-Id: I077a9ce8ab205e2949e0a438307f7da46a8a247d Implements: blueprint ivs-support
75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
# Quantum Big Switch/FloodLight plugin
|
|
# ------------------------------------
|
|
|
|
# Save trace setting
|
|
MY_XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
source $TOP_DIR/lib/quantum_plugins/ovs_base
|
|
source $TOP_DIR/lib/quantum_thirdparty/bigswitch_floodlight # for third party service specific configuration values
|
|
|
|
function quantum_plugin_create_nova_conf() {
|
|
NOVA_VIF_DRIVER=${NOVA_VIF_DRIVER:-"nova.virt.libvirt.vif.LibvirtGenericVIFDriver"}
|
|
}
|
|
|
|
function quantum_plugin_install_agent_packages() {
|
|
_quantum_ovs_base_install_agent_packages
|
|
}
|
|
|
|
function quantum_plugin_configure_common() {
|
|
Q_PLUGIN_CONF_PATH=etc/quantum/plugins/bigswitch
|
|
Q_PLUGIN_CONF_FILENAME=restproxy.ini
|
|
Q_DB_NAME="restproxy_quantum"
|
|
Q_PLUGIN_CLASS="quantum.plugins.bigswitch.plugin.QuantumRestProxyV2"
|
|
BS_FL_CONTROLLERS_PORT=${BS_FL_CONTROLLERS_PORT:-localhost:80}
|
|
BS_FL_CONTROLLER_TIMEOUT=${BS_FL_CONTROLLER_TIMEOUT:-10}
|
|
}
|
|
|
|
function quantum_plugin_configure_debug_command() {
|
|
_quantum_ovs_base_configure_debug_command
|
|
}
|
|
|
|
function quantum_plugin_configure_dhcp_agent() {
|
|
:
|
|
}
|
|
|
|
function quantum_plugin_configure_l3_agent() {
|
|
_quantum_ovs_base_configure_l3_agent
|
|
}
|
|
|
|
function quantum_plugin_configure_plugin_agent() {
|
|
:
|
|
}
|
|
|
|
function quantum_plugin_configure_service() {
|
|
iniset /$Q_PLUGIN_CONF_FILE restproxy servers $BS_FL_CONTROLLERS_PORT
|
|
iniset /$Q_PLUGIN_CONF_FILE restproxy servertimeout $BS_FL_CONTROLLER_TIMEOUT
|
|
if [ "$BS_FL_VIF_DRIVER" = "ivs" ]
|
|
then
|
|
iniset /$Q_PLUGIN_CONF_FILE nova vif_type ivs
|
|
fi
|
|
}
|
|
|
|
function quantum_plugin_setup_interface_driver() {
|
|
local conf_file=$1
|
|
if [ "$BS_FL_VIF_DRIVER" = "ivs" ]
|
|
then
|
|
iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.IVSInterfaceDriver
|
|
else
|
|
iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
|
|
fi
|
|
}
|
|
|
|
|
|
function has_quantum_plugin_security_group() {
|
|
# 1 means False here
|
|
return 1
|
|
}
|
|
|
|
function quantum_plugin_check_adv_test_requirements() {
|
|
is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
|
|
}
|
|
|
|
# Restore xtrace
|
|
$MY_XTRACE
|