diff options
| author | Soren Hansen <soren.hansen@rackspace.com> | 2010-12-13 16:42:35 +0100 |
|---|---|---|
| committer | Soren Hansen <soren.hansen@rackspace.com> | 2010-12-13 16:42:35 +0100 |
| commit | be9a3cd7e17edac4032c8ae554f75d725b0ad54a (patch) | |
| tree | 37a9713ae32cf3cf78fa848d8c0ec4240efaea6c /nova/api | |
| parent | 65c0443c4a6c6ffa525d07e47275382c45bc8ffe (diff) | |
| download | nova-be9a3cd7e17edac4032c8ae554f75d725b0ad54a.tar.gz nova-be9a3cd7e17edac4032c8ae554f75d725b0ad54a.tar.xz nova-be9a3cd7e17edac4032c8ae554f75d725b0ad54a.zip | |
Move security group refresh logic into ComputeAPI.
Add a trigger_security_group_members_refresh to ComputeAPI which
finds the hosts that have instances that have security groups that
reference a security group in which a new instance has just been placed,
and sends a refresh_security_group_members to each of them.
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/ec2/cloud.py | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 05f8c3d0b..2694b8b00 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -130,15 +130,6 @@ class CloudController(object): result[key] = [line] return result - def _trigger_refresh_security_group(self, context, security_group): - nodes = set([instance['host'] for instance in security_group.instances - if instance['host'] is not None]) - for node in nodes: - rpc.cast(context, - '%s.%s' % (FLAGS.compute_topic, node), - {"method": "refresh_security_group", - "args": {"security_group_id": security_group.id}}) - def get_metadata(self, address): ctxt = context.get_admin_context() instance_ref = db.fixed_ip_get_instance(ctxt, address) @@ -369,7 +360,8 @@ class CloudController(object): match = False if match: db.security_group_rule_destroy(context, rule['id']) - self._trigger_refresh_security_group(context, security_group) + self.compute_api.trigger_security_group_rules_refresh(context, + security_group['id']) return True raise exception.ApiError("No rule for the specified parameters.") @@ -392,7 +384,8 @@ class CloudController(object): security_group_rule = db.security_group_rule_create(context, values) - self._trigger_refresh_security_group(context, security_group) + self.compute_api.trigger_security_group_rules_refresh(context, + security_group['id']) return True |
