summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-01-31 14:38:45 -0800
committerVishvananda Ishaya <vishvananda@gmail.com>2011-01-31 14:38:45 -0800
commit85fe11e11a6332f95a9dac300994e77e7e48dfec (patch)
tree172c089457b40a4844cc673eb017f98a26e20424
parentad6300d279cfd87061ef4cef5f1a9e96aaac2f42 (diff)
change ensure_bridge so it doesn't overwrite existing ips
-rw-r--r--nova/network/linux_net.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index cdd1f666a..87eefa8b2 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -191,18 +191,19 @@ def ensure_bridge(bridge, interface, net_attrs=None):
_execute("sudo brctl stp %s off" % bridge)
if interface:
_execute("sudo brctl addif %s %s" % (bridge, interface))
+ _execute("sudo ifconfig %s up" % bridge)
if net_attrs:
- _execute("sudo ifconfig %s %s broadcast %s netmask %s up" % \
- (bridge,
- net_attrs['gateway'],
+ # NOTE(vish): use ip addr add so it doesn't overwrite
+ # manual addresses on the bridge.
+ suffix = net_attrs['cidr'].rpartition('/')[0]
+ _execute("sudo ip addr add %s/%s brd %s dev %s" %
+ (net_attrs['gateway'],
+ suffix,
net_attrs['broadcast'],
- net_attrs['netmask']))
+ bridge))
if(FLAGS.use_ipv6):
_execute("sudo ip -f inet6 addr change %s dev %s" %
(net_attrs['cidr_v6'], bridge))
- _execute("sudo ifconfig %s up" % bridge)
- else:
- _execute("sudo ifconfig %s up" % bridge)
if FLAGS.use_nova_chains:
(out, err) = _execute("sudo iptables -N nova_forward",
check_exit_code=False)