Skip to content

Commit

Permalink
Adding instance id to the security group extension API
Browse files Browse the repository at this point in the history
- Secgroup list now show their corresponding instances
- Secgroup get also show its corresponding instance

Fixes bug 1190410

Change-Id: Ifb7b1c9be741fca221267243b86ce0d91b994015
  • Loading branch information
Steve Leon committed Jul 2, 2013
1 parent eafc62f commit 02a51b4
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
12 changes: 12 additions & 0 deletions trove/extensions/security_group/models.py
Expand Up @@ -46,6 +46,11 @@ class SecurityGroup(DatabaseModelBase):
_data_fields = ['id', 'name', 'description', 'user', 'tenant_id',
'created', 'updated', 'deleted', 'deleted_at']

@property
def instance_id(self):
return SecurityGroupInstanceAssociation\
.get_instance_id_by_security_group_id(self.id)

@classmethod
def create_sec_group(cls, name, description, context):
try:
Expand Down Expand Up @@ -190,6 +195,13 @@ def get_security_group_by_instance_id(cls, id):
deleted=False)
return association.get_security_group()

@classmethod
def get_instance_id_by_security_group_id(cls, secgroup_id):
association = SecurityGroupInstanceAssociation.find_by(
security_group_id=secgroup_id,
deleted=False)
return association.instance_id


class RemoteSecurityGroup(NovaRemoteModelBase):

Expand Down
1 change: 1 addition & 0 deletions trove/extensions/security_group/views.py
Expand Up @@ -66,6 +66,7 @@ def data(self):
return {"id": self.secgroup['id'],
"name": self.secgroup['name'],
"description": self.secgroup['description'],
"instance_id": self.secgroup['instance_id'],
"rules": self._build_rules(),
"links": self._build_links(),
"created": self.secgroup['created'],
Expand Down
1 change: 1 addition & 0 deletions trove/tests/api/instances.py
Expand Up @@ -539,6 +539,7 @@ def test_get_security_group(self):
assert_is_not_none(securityGroup)
assert_equal(securityGroup.name, self.secGroupName)
assert_equal(securityGroup.description, self.secGroupDescription)
assert_equal(securityGroup.instance_id, instance_info.id)


@test(depends_on_classes=[SecurityGroupsTest],
Expand Down

0 comments on commit 02a51b4

Please sign in to comment.