diff --git a/nova/objects/security_group.py b/nova/objects/security_group.py index b9291982ccea..706d19165f31 100644 --- a/nova/objects/security_group.py +++ b/nova/objects/security_group.py @@ -88,6 +88,10 @@ class SecurityGroup(base.NovaPersistentObject, base.NovaObject): self._from_db_object(self._context, self, db.security_group_get(self._context, self.id)) + @property + def identifier(self): + return self.uuid if 'uuid' in self else self.name + @base.NovaObjectRegistry.register class SecurityGroupList(base.ObjectListBase, base.NovaObject): diff --git a/nova/tests/unit/objects/test_security_group.py b/nova/tests/unit/objects/test_security_group.py index 821f8d670e7a..1eb1a9f4b606 100644 --- a/nova/tests/unit/objects/test_security_group.py +++ b/nova/tests/unit/objects/test_security_group.py @@ -123,6 +123,12 @@ class _TestSecurityGroupObject(object): secgroup.save() self.assertFalse(mock_db_update.called) + def test_identifier(self): + secgroup = security_group.SecurityGroup(name='foo') + self.assertEqual('foo', secgroup.identifier) + secgroup.uuid = uuids.secgroup + self.assertEqual(uuids.secgroup, secgroup.identifier) + class TestSecurityGroupObject(test_objects._LocalTest, _TestSecurityGroupObject):