]> xenbits.xensource.com Git - osstest/openstack-nova.git/commitdiff
Add SecurityGroup.identifier to prefer uuid over name
authorDan Smith <dansmith@redhat.com>
Fri, 2 Dec 2016 16:24:36 +0000 (08:24 -0800)
committerDan Smith <dansmith@redhat.com>
Fri, 9 Dec 2016 18:30:48 +0000 (10:30 -0800)
This gives us a quick identifier property on SecurityGroup that
will prefer uuid if set, otherwise use the name field.

Change-Id: If7153f6470dc94d600731335f59260e31d1a0392

nova/objects/security_group.py
nova/tests/unit/objects/test_security_group.py

index b9291982ccea23de09bbc8dcbedaa1baddeff86f..706d19165f3122c02cfe4b0ed624cf043ba978fd 100644 (file)
@@ -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):
index 821f8d670e7a58745308c54651a4b81d61c1a594..1eb1a9f4b6065c0e3729f74e96f60db197a496ab 100644 (file)
@@ -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):