summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-08-24 01:54:16 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-08-24 01:54:16 -0700
commit393eef48ce792206a3e2a678933aa120b535309e (patch)
tree988012703f10999ee69bb1bdae097b7c5bf20658
parentd832003f1743ab0e1c4ef935f3e4f1d02691bc39 (diff)
downloadnova-393eef48ce792206a3e2a678933aa120b535309e.tar.gz
nova-393eef48ce792206a3e2a678933aa120b535309e.tar.xz
nova-393eef48ce792206a3e2a678933aa120b535309e.zip
fix some errors with networking rules
-rw-r--r--nova/network/linux_net.py18
-rw-r--r--nova/network/service.py3
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