blob: b8166d9af9672c5ab60d261f5a1dec17ffafc07e [file] [log] [blame]
Sean Daguee263c822014-12-05 14:25:28 -05001#!/bin/bash
2#
Mark McClainb05c8762013-07-06 23:29:39 -04003# Brocade Neutron Plugin
4# ----------------------
5
6# Save trace setting
7BRCD_XTRACE=$(set +o | grep xtrace)
8set +o xtrace
9
Ian Wienandaee18c72014-02-21 15:35:08 +110010function is_neutron_ovs_base_plugin {
Mark McClainb05c8762013-07-06 23:29:39 -040011 return 1
12}
13
Ian Wienandaee18c72014-02-21 15:35:08 +110014function neutron_plugin_create_nova_conf {
Mark McClainb05c8762013-07-06 23:29:39 -040015 NOVA_VIF_DRIVER=${NOVA_VIF_DRIVER:-"nova.virt.libvirt.vif.LibvirtGenericVIFDriver"}
16}
17
Ian Wienandaee18c72014-02-21 15:35:08 +110018function neutron_plugin_install_agent_packages {
Mark McClainb05c8762013-07-06 23:29:39 -040019 install_package bridge-utils
20}
21
Ian Wienandaee18c72014-02-21 15:35:08 +110022function neutron_plugin_configure_common {
Mark McClainb05c8762013-07-06 23:29:39 -040023 Q_PLUGIN_CONF_PATH=etc/neutron/plugins/brocade
24 Q_PLUGIN_CONF_FILENAME=brocade.ini
Mark McClainb05c8762013-07-06 23:29:39 -040025 Q_PLUGIN_CLASS="neutron.plugins.brocade.NeutronPlugin.BrocadePluginV2"
26}
27
Shiv Haris815ef982014-04-08 15:19:12 -070028function neutron_plugin_configure_service {
29
30 if [[ "$BROCADE_SWITCH_OS_VERSION" != "" ]]; then
31 iniset /$Q_PLUGIN_CONF_FILE switch osversion $BROCADE_SWITCH_OS_VERSION
32 fi
33
34 if [[ "$BROCADE_SWITCH_OS_TYPE" != "" ]]; then
35 iniset /$Q_PLUGIN_CONF_FILE switch ostype $BROCADE_SWITCH_OS_TYPE
36 fi
37
38 if [[ "$BROCADE_SWITCH_PASSWORD" != "" ]]; then
39 iniset /$Q_PLUGIN_CONF_FILE switch password $BROCADE_SWITCH_PASSWORD
40 fi
41
42 if [[ "$BROCADE_SWITCH_USERNAME" != "" ]]; then
43 iniset /$Q_PLUGIN_CONF_FILE switch username $BROCADE_SWITCH_USERNAME
44 fi
45
46 if [[ "$BROCADE_SWITCH_IPADDR" != "" ]]; then
47 iniset /$Q_PLUGIN_CONF_FILE switch address $BROCADE_SWITCH_IPADDR
48 fi
49
50}
51
Ian Wienandaee18c72014-02-21 15:35:08 +110052function neutron_plugin_configure_debug_command {
Mark McClainb05c8762013-07-06 23:29:39 -040053 iniset $NEUTRON_TEST_CONFIG_FILE DEFAULT external_network_bridge
54}
55
Ian Wienandaee18c72014-02-21 15:35:08 +110056function neutron_plugin_configure_dhcp_agent {
Mark McClainb05c8762013-07-06 23:29:39 -040057 iniset $Q_DHCP_CONF_FILE DEFAULT dhcp_agent_manager neutron.agent.dhcp_agent.DhcpAgentWithStateReport
58}
59
Ian Wienandaee18c72014-02-21 15:35:08 +110060function neutron_plugin_configure_l3_agent {
Mark McClainb05c8762013-07-06 23:29:39 -040061 iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge
62 iniset $Q_L3_CONF_FILE DEFAULT l3_agent_manager neutron.agent.l3_agent.L3NATAgentWithStateReport
63}
64
Ian Wienandaee18c72014-02-21 15:35:08 +110065function neutron_plugin_configure_plugin_agent {
Shiv Haris55d9b9a2014-01-14 11:33:28 -080066 AGENT_BINARY="$NEUTRON_BIN_DIR/neutron-linuxbridge-agent"
Mark McClainb05c8762013-07-06 23:29:39 -040067}
68
Ian Wienandaee18c72014-02-21 15:35:08 +110069function neutron_plugin_setup_interface_driver {
Mark McClainb05c8762013-07-06 23:29:39 -040070 local conf_file=$1
71 iniset $conf_file DEFAULT interface_driver neutron.agent.linux.interface.BridgeInterfaceDriver
72}
73
Ian Wienandaee18c72014-02-21 15:35:08 +110074function has_neutron_plugin_security_group {
Mark McClainb05c8762013-07-06 23:29:39 -040075 # 0 means True here
76 return 0
77}
78
Ian Wienandaee18c72014-02-21 15:35:08 +110079function neutron_plugin_check_adv_test_requirements {
Mark McClainb05c8762013-07-06 23:29:39 -040080 is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
81}
82
83# Restore xtrace
84$BRCD_XTRACE