summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoren Hansen <soren@linux2go.dk>2011-03-22 15:16:08 +0100
committerSoren Hansen <soren@linux2go.dk>2011-03-22 15:16:08 +0100
commitde2ecf115ff0baf43fa530807997513c728ffdaf (patch)
tree87e909d3bd5e0926cb62a54e77e9564efb956976
parent804083b6ba811834c0bf9d5e2edcdf0130d7d1ce (diff)
downloadnova-de2ecf115ff0baf43fa530807997513c728ffdaf.tar.gz
nova-de2ecf115ff0baf43fa530807997513c728ffdaf.tar.xz
nova-de2ecf115ff0baf43fa530807997513c728ffdaf.zip
Fix locking problem in security group refresh code.
-rw-r--r--nova/virt/libvirt_conn.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py
index 902866167..fcd78b3b2 100644
--- a/nova/virt/libvirt_conn.py
+++ b/nova/virt/libvirt_conn.py
@@ -1766,12 +1766,15 @@ class IptablesFirewallDriver(FirewallDriver):
def refresh_security_group_members(self, security_group):
pass
- @utils.synchronized('iptables', external=True)
def refresh_security_group_rules(self, security_group):
+ self.do_refresh_security_group_rules(security_group)
+ self.iptables.apply()
+
+ @utils.synchronized('iptables', external=True)
+ def do_refresh_security_group_rules(self, security_group):
for instance in self.instances.values():
self.remove_filters_for_instance(instance)
self.add_filters_for_instance(instance)
- self.iptables.apply()
def _security_group_chain_name(self, security_group_id):
return 'nova-sg-%s' % (security_group_id,)