diff options
| author | Dan Prince <dan.prince@rackspace.com> | 2011-03-10 21:44:01 -0500 |
|---|---|---|
| committer | Dan Prince <dan.prince@rackspace.com> | 2011-03-10 21:44:01 -0500 |
| commit | b9a479ffc8e9db0c1888047d7f3df99b3b57b2ec (patch) | |
| tree | afb8b9509d9ee8addfd35e2b4a3938392fb97bbc /nova | |
| parent | 7ca1669603132e3afd14606dda3f95ccbce08a41 (diff) | |
| download | nova-b9a479ffc8e9db0c1888047d7f3df99b3b57b2ec.tar.gz nova-b9a479ffc8e9db0c1888047d7f3df99b3b57b2ec.tar.xz nova-b9a479ffc8e9db0c1888047d7f3df99b3b57b2ec.zip | |
Make linux_net ensure_bridge commands that add and remove ip addr's from
devices/bridges work with with the latest utils.execute method (execvp).
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/network/linux_net.py | 17 |
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 |
