fixes bug 1179820 we must set firewall driver if we want to use quantum security group because quantum will disable security group if we do not change the default firewall driver. Currently devstack will not change the default firewall driver if we just running quantum server on a node which will cause nova unable to security group information. Change-Id: Ie274325decbf252630a237ed3d6ee3136eb259fe
78 lines
2.3 KiB
Plaintext
78 lines
2.3 KiB
Plaintext
# Quantum Ryu 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/ryu # for configuration value
|
|
|
|
function quantum_plugin_create_nova_conf() {
|
|
_quantum_ovs_base_configure_nova_vif_driver
|
|
iniset $NOVA_CONF DEFAULT libvirt_ovs_integration_bridge "$OVS_BRIDGE"
|
|
}
|
|
|
|
function quantum_plugin_install_agent_packages() {
|
|
_quantum_ovs_base_install_agent_packages
|
|
|
|
# quantum_ryu_agent requires ryu module
|
|
install_package $(get_packages "ryu")
|
|
install_ryu
|
|
configure_ryu
|
|
}
|
|
|
|
function quantum_plugin_configure_common() {
|
|
Q_PLUGIN_CONF_PATH=etc/quantum/plugins/ryu
|
|
Q_PLUGIN_CONF_FILENAME=ryu.ini
|
|
Q_DB_NAME="ovs_quantum"
|
|
Q_PLUGIN_CLASS="quantum.plugins.ryu.ryu_quantum_plugin.RyuQuantumPluginV2"
|
|
}
|
|
|
|
function quantum_plugin_configure_debug_command() {
|
|
_quantum_ovs_base_configure_debug_command
|
|
iniset $QUANTUM_TEST_CONFIG_FILE DEFAULT ryu_api_host $RYU_API_HOST:$RYU_API_PORT
|
|
}
|
|
|
|
function quantum_plugin_configure_dhcp_agent() {
|
|
iniset $Q_DHCP_CONF_FILE DEFAULT ryu_api_host $RYU_API_HOST:$RYU_API_PORT
|
|
}
|
|
|
|
function quantum_plugin_configure_l3_agent() {
|
|
iniset $Q_L3_CONF_FILE DEFAULT ryu_api_host $RYU_API_HOST:$RYU_API_PORT
|
|
_quantum_ovs_base_configure_l3_agent
|
|
}
|
|
|
|
function quantum_plugin_configure_plugin_agent() {
|
|
# Set up integration bridge
|
|
OVS_BRIDGE=${OVS_BRIDGE:-br-int}
|
|
_quantum_ovs_base_setup_bridge $OVS_BRIDGE
|
|
if [ -n "$RYU_INTERNAL_INTERFACE" ]; then
|
|
sudo ovs-vsctl --no-wait -- --may-exist add-port $OVS_BRIDGE $RYU_INTERNAL_INTERFACE
|
|
fi
|
|
iniset /$Q_PLUGIN_CONF_FILE OVS integration_bridge $OVS_BRIDGE
|
|
AGENT_BINARY="$QUANTUM_DIR/quantum/plugins/ryu/agent/ryu_quantum_agent.py"
|
|
|
|
_quantum_ovs_base_configure_firewall_driver
|
|
}
|
|
|
|
function quantum_plugin_configure_service() {
|
|
iniset /$Q_PLUGIN_CONF_FILE OVS openflow_rest_api $RYU_API_HOST:$RYU_API_PORT
|
|
|
|
_quantum_ovs_base_configure_firewall_driver
|
|
}
|
|
|
|
function quantum_plugin_setup_interface_driver() {
|
|
local conf_file=$1
|
|
iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
|
|
iniset $conf_file DEFAULT ovs_use_veth True
|
|
}
|
|
|
|
function has_quantum_plugin_security_group() {
|
|
# 0 means True here
|
|
return 0
|
|
}
|
|
|
|
# Restore xtrace
|
|
$MY_XTRACE
|