@@ -71,6 +71,9 @@ function neutron_plugin_configure_plugin_agent {
71
71
# Make a copy of our config for domU
72
72
sudo cp /$Q_PLUGIN_CONF_FILE " /$Q_PLUGIN_CONF_FILE .domU"
73
73
74
+ # change domU's config file to STACK_USER
75
+ sudo chown $STACK_USER :$STACK_USER /$Q_PLUGIN_CONF_FILE .domU
76
+
74
77
# Deal with Dom0's L2 Agent:
75
78
Q_RR_DOM0_COMMAND=" $NEUTRON_BIN_DIR /neutron-rootwrap-xen-dom0 $Q_RR_CONF_FILE "
76
79
@@ -82,7 +85,14 @@ function neutron_plugin_configure_plugin_agent {
82
85
# Under XS/XCP, the ovs agent needs to target the dom0
83
86
# integration bridge. This is enabled by using a root wrapper
84
87
# that executes commands on dom0 via a XenAPI plugin.
88
+ # XenAPI does not support daemon rootwrap now, so set root_helper_daemon empty
85
89
iniset /$Q_PLUGIN_CONF_FILE agent root_helper " $Q_RR_DOM0_COMMAND "
90
+ iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon " "
91
+
92
+ # Disable minimize polling, so that it can always detect OVS and Port changes
93
+ # This is a problem of xenserver + neutron, bug has been reported
94
+ # https://bugs.launchpad.net/neutron/+bug/1495423
95
+ iniset /$Q_PLUGIN_CONF_FILE agent minimize_polling False
86
96
87
97
# Set "physical" mapping
88
98
iniset /$Q_PLUGIN_CONF_FILE ovs bridge_mappings " physnet1:$FLAT_NETWORK_BRIDGE "
@@ -95,10 +105,14 @@ function neutron_plugin_configure_plugin_agent {
95
105
# Create a bridge "br-$GUEST_INTERFACE_DEFAULT"
96
106
_neutron_ovs_base_add_bridge " br-$GUEST_INTERFACE_DEFAULT "
97
107
# Add $GUEST_INTERFACE_DEFAULT to that bridge
98
- sudo ovs-vsctl add-port " br-$GUEST_INTERFACE_DEFAULT " $GUEST_INTERFACE_DEFAULT
108
+ sudo ovs-vsctl -- --may-exist add-port " br-$GUEST_INTERFACE_DEFAULT " $GUEST_INTERFACE_DEFAULT
109
+
110
+ # Create external bridge and add port
111
+ _neutron_ovs_base_add_bridge $PUBLIC_BRIDGE
112
+ sudo ovs-vsctl -- --may-exist add-port $PUBLIC_BRIDGE $PUBLIC_INTERFACE_DEFAULT
99
113
100
114
# Set bridge mappings to "physnet1:br-$GUEST_INTERFACE_DEFAULT"
101
- iniset " /$Q_PLUGIN_CONF_FILE .domU" ovs bridge_mappings " physnet1:br-$GUEST_INTERFACE_DEFAULT "
115
+ iniset " /$Q_PLUGIN_CONF_FILE .domU" ovs bridge_mappings " physnet1:br-$GUEST_INTERFACE_DEFAULT ,physnet-ex: $PUBLIC_BRIDGE "
102
116
# Set integration bridge to domU's
103
117
iniset " /$Q_PLUGIN_CONF_FILE .domU" ovs integration_bridge $OVS_BRIDGE
104
118
# Set root wrap
0 commit comments