diff options
| author | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-08-24 01:54:16 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-08-24 01:54:16 -0700 |
| commit | 393eef48ce792206a3e2a678933aa120b535309e (patch) | |
| tree | 988012703f10999ee69bb1bdae097b7c5bf20658 | |
| parent | d832003f1743ab0e1c4ef935f3e4f1d02691bc39 (diff) | |
| download | nova-393eef48ce792206a3e2a678933aa120b535309e.tar.gz nova-393eef48ce792206a3e2a678933aa120b535309e.tar.xz nova-393eef48ce792206a3e2a678933aa120b535309e.zip | |
fix some errors with networking rules
| -rw-r--r-- | nova/network/linux_net.py | 18 | ||||
| -rw-r--r-- | nova/network/service.py | 3 |
2 files changed, 11 insertions, 10 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index 3e20ce8e8..1e14b4716 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -88,10 +88,10 @@ def remove_floating_forward(floating_ip, fixed_ip): % (fixed_ip, protocol, port)) -def ensure_vlan_bridge(vlan_num, bridge, network=None): +def ensure_vlan_bridge(vlan_num, bridge, net_attrs=None): """Create a vlan and bridge unless they already exist""" interface = ensure_vlan(vlan_num) - ensure_bridge(bridge, interface, network) + ensure_bridge(bridge, interface, net_attrs) def ensure_vlan(vlan_num): interface = "vlan%s" % vlan_num @@ -103,7 +103,7 @@ def ensure_vlan(vlan_num): return interface -def ensure_bridge(bridge, interface, network=None): +def ensure_bridge(bridge, interface, net_attrs=None): if not _device_exists(bridge): logging.debug("Starting Bridge inteface for %s", interface) _execute("sudo brctl addbr %s" % bridge) @@ -111,13 +111,13 @@ def ensure_bridge(bridge, interface, network=None): # _execute("sudo brctl setageing %s 10" % bridge) _execute("sudo brctl stp %s off" % bridge) _execute("sudo brctl addif %s %s" % (bridge, interface)) - if network: + if net_attrs: _execute("sudo ifconfig %s %s broadcast %s netmask %s up" % \ (bridge, - network['gateway'], - network['broadcast'], - network['netmask'])) - _confirm_rule("FORWARD --in-bridge %s -j ACCEPT" % bridge) + net_attrs['gateway'], + net_attrs['broadcast'], + net_attrs['netmask'])) + _confirm_rule("FORWARD --in-interface %s -j ACCEPT" % bridge) else: _execute("sudo ifconfig %s up" % bridge) @@ -188,7 +188,7 @@ def _device_exists(device): def _confirm_rule(cmd): """Delete and re-add iptables rule""" - _execute("sudo iptables --delete %s" % (cmd)) + _execute("sudo iptables --delete %s" % (cmd), check_exit_code=False) _execute("sudo iptables -I %s" % (cmd)) diff --git a/nova/network/service.py b/nova/network/service.py index c501f523b..baaaff521 100644 --- a/nova/network/service.py +++ b/nova/network/service.py @@ -204,7 +204,8 @@ class VlanNetworkService(BaseNetworkService): network_ref = db.network_get(context, network_id) print 'making the bridge' _driver.ensure_vlan_bridge(network_ref['vlan'], - network_ref['bridge']) + network_ref['bridge'], + network_ref) @classmethod |
