Skip to content

Commit 2f8fd29

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Unify the way devstack configures networking for libvirt and xenserver"
2 parents 7052f72 + 8e2cffd commit 2f8fd29

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

stack.sh

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -290,14 +290,26 @@ function is_service_enabled() {
290290
# FIXME: more documentation about why these are important flags. Also
291291
# we should make sure we use the same variable names as the flag names.
292292

293+
if [ "$VIRT_DRIVER" = 'xenserver' ]; then
294+
PUBLIC_INTERFACE_DEFAULT=eth3
295+
# allow build_domU.sh to specify the flat network bridge via kernel args
296+
FLAT_NETWORK_BRIDGE_DEFAULT=$(grep -o 'flat_network_bridge=[^.]*' /proc/cmdline | cut -d= -f 2)
297+
GUEST_INTERFACE_DEFAULT=eth1
298+
else
299+
PUBLIC_INTERFACE_DEFAULT=br100
300+
FLAT_NETWORK_BRIDGE_DEFAULT=br100
301+
GUEST_INTERFACE_DEFAULT=eth0
302+
fi
303+
304+
PUBLIC_INTERFACE=${PUBLIC_INTERFACE:-$PUBLIC_INTERFACE_DEFAULT}
293305
PUBLIC_INTERFACE=${PUBLIC_INTERFACE:-br100}
294306
FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24}
295307
FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256}
296308
FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.224/28}
297309
NET_MAN=${NET_MAN:-FlatDHCPManager}
298310
EC2_DMZ_HOST=${EC2_DMZ_HOST:-$SERVICE_HOST}
299-
FLAT_NETWORK_BRIDGE=${FLAT_NETWORK_BRIDGE:-br100}
300-
VLAN_INTERFACE=${VLAN_INTERFACE:-eth0}
311+
FLAT_NETWORK_BRIDGE=${FLAT_NETWORK_BRIDGE:-$FLAT_NETWORK_BRIDGE_DEFAULT}
312+
VLAN_INTERFACE=${VLAN_INTERFACE:-$GUEST_INTERFACE_DEFAULT}
301313

302314
# Test floating pool and range are used for testing. They are defined
303315
# here until the admin APIs can replace nova-manage
@@ -323,7 +335,7 @@ MULTI_HOST=${MULTI_HOST:-False}
323335
# devices other than that node, you can set the flat interface to the same
324336
# value as ``FLAT_NETWORK_BRIDGE``. This will stop the network hiccup from
325337
# occurring.
326-
FLAT_INTERFACE=${FLAT_INTERFACE:-eth0}
338+
FLAT_INTERFACE=${FLAT_INTERFACE:-$GUEST_INTERFACE_DEFAULT}
327339

328340
## FIXME(ja): should/can we check that FLAT_INTERFACE is sane?
329341

@@ -1213,6 +1225,10 @@ add_nova_flag "--osapi_compute_extension=nova.api.openstack.compute.contrib.stan
12131225
add_nova_flag "--my_ip=$HOST_IP"
12141226
add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
12151227
add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
1228+
add_nova_flag "--flat_network_bridge=$FLAT_NETWORK_BRIDGE"
1229+
if [ -n "$FLAT_INTERFACE" ]; then
1230+
add_nova_flag "--flat_interface=$FLAT_INTERFACE"
1231+
fi
12161232
add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
12171233
add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
12181234
add_nova_flag "--instance_name_template=${INSTANCE_NAME_PREFIX}%08x"
@@ -1262,28 +1278,19 @@ done
12621278
# ---------
12631279

12641280
if [ "$VIRT_DRIVER" = 'xenserver' ]; then
1265-
# Get the VM bridge
1266-
FLAT_NETWORK_BRIDGE=$(grep -o 'flat_network_bridge=[^.]*' /proc/cmdline | cut -d= -f 2)
12671281
read_password XENAPI_PASSWORD "ENTER A PASSWORD TO USE FOR XEN."
12681282
add_nova_flag "--connection_type=xenapi"
12691283
add_nova_flag "--xenapi_connection_url=http://169.254.0.1"
12701284
add_nova_flag "--xenapi_connection_username=root"
12711285
add_nova_flag "--xenapi_connection_password=$XENAPI_PASSWORD"
12721286
add_nova_flag "--noflat_injected"
1273-
add_nova_flag "--flat_interface=eth1"
1274-
add_nova_flag "--flat_network_bridge=${FLAT_NETWORK_BRIDGE}"
1275-
add_nova_flag "--public_interface=${HOST_IP_IFACE}"
12761287
# Need to avoid crash due to new firewall support
12771288
XEN_FIREWALL_DRIVER=${XEN_FIREWALL_DRIVER:-"nova.virt.firewall.IptablesFirewallDriver"}
12781289
add_nova_flag "--firewall_driver=$XEN_FIREWALL_DRIVER"
12791290
else
12801291
add_nova_flag "--connection_type=libvirt"
12811292
LIBVIRT_FIREWALL_DRIVER=${LIBVIRT_FIREWALL_DRIVER:-"nova.virt.libvirt.firewall.IptablesFirewallDriver"}
12821293
add_nova_flag "--firewall_driver=$LIBVIRT_FIREWALL_DRIVER"
1283-
add_nova_flag "--flat_network_bridge=$FLAT_NETWORK_BRIDGE"
1284-
if [ -n "$FLAT_INTERFACE" ]; then
1285-
add_nova_flag "--flat_interface=$FLAT_INTERFACE"
1286-
fi
12871294
fi
12881295

12891296
# Nova Database

0 commit comments

Comments
 (0)