summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCory Wright <cory.wright@rackspace.com>2011-03-11 20:03:18 +0000
committerCory Wright <cory.wright@rackspace.com>2011-03-11 20:03:18 +0000
commitca781f6dce32096b6c1dd597f6998ee22a81679e (patch)
tree1c5da651e761c2879af74c0ff7619b128294a8d4
parent694b4bfcbe9f0b74dffbaf93a7da3d6296d28746 (diff)
parent1112a90cf6d1761ec362d19130f61e518406910f (diff)
merge trunk
-rw-r--r--nova/network/linux_net.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 9f9d282b6..e69ed2f75 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -513,11 +513,9 @@ def ensure_bridge(bridge, interface, net_attrs=None):
for line in out.split("\n"):
fields = line.split()
if fields and fields[0] == "inet":
- params = ' '.join(fields[1:-1])
- _execute('sudo', 'ip', 'addr',
- 'del', params, 'dev', fields[-1])
- _execute('sudo', 'ip', 'addr',
- 'add', params, 'dev', bridge)
+ params = fields[1:-1]
+ _execute(*_ip_bridge_cmd('del', params, fields[-1]))
+ _execute(*_ip_bridge_cmd('add', params, bridge))
if gateway:
_execute('sudo', 'route', 'add', '0.0.0.0', 'gw', gateway)
out, err = _execute('sudo', 'brctl', 'addif', bridge, interface,
@@ -739,3 +737,12 @@ def _ra_pid_for(bridge):
if os.path.exists(pid_file):
with open(pid_file, 'r') as f:
return int(f.read())
+
+
+def _ip_bridge_cmd(action, params, device):
+ """Build commands to add/del ips to bridges/devices"""
+
+ cmd = ['sudo', 'ip', 'addr', action]
+ cmd.extend(params)
+ cmd.extend(['dev', device])
+ return cmd