Merge "Remove DictCompat from SecurityGroup"

This commit is contained in:
Jenkins 2016-07-06 21:18:47 +00:00 committed by Gerrit Code Review
commit be18d676da
6 changed files with 25 additions and 26 deletions

View File

@ -443,7 +443,7 @@ class SecurityGroupsOutputController(wsgi.Controller):
instance = req.get_db_instance(server['id'])
groups = instance.get(key)
if groups:
server[ATTRIBUTE_NAME] = [{"name": group["name"]}
server[ATTRIBUTE_NAME] = [{"name": group.name}
for group in groups]
else:
# If method is a POST we get the security groups intended for an

View File

@ -18,10 +18,8 @@ from nova.objects import base
from nova.objects import fields
# TODO(berrange): Remove NovaObjectDictCompat
@base.NovaObjectRegistry.register
class SecurityGroup(base.NovaPersistentObject, base.NovaObject,
base.NovaObjectDictCompat):
class SecurityGroup(base.NovaPersistentObject, base.NovaObject):
# Version 1.0: Initial version
# Version 1.1: String attributes updated to support unicode
VERSION = '1.1'
@ -38,7 +36,7 @@ class SecurityGroup(base.NovaPersistentObject, base.NovaObject,
def _from_db_object(context, secgroup, db_secgroup):
# NOTE(danms): These are identical right now
for field in secgroup.fields:
secgroup[field] = db_secgroup[field]
setattr(secgroup, field, db_secgroup[field])
secgroup._context = context
secgroup.obj_reset_changes()
return secgroup

View File

@ -39,7 +39,7 @@ class SchedulerHintsTestCaseV21(test.TestCase):
def setUp(self):
super(SchedulerHintsTestCaseV21, self).setUp()
self.fake_instance = fakes.stub_instance(1, uuid=UUID)
self.fake_instance = fakes.stub_instance_obj(None, id=1, uuid=UUID)
self._set_up_router()
def _set_up_router(self):

View File

@ -829,7 +829,7 @@ class _TestInstanceObject(object):
for index, group in enumerate(fake_inst['security_groups']):
for key in group:
self.assertEqual(group[key],
inst.security_groups[index][key])
getattr(inst.security_groups[index], key))
self.assertIsInstance(inst.security_groups[index],
security_group.SecurityGroup)
self.assertEqual(set(), inst.security_groups.obj_what_changed())

View File

@ -17,6 +17,7 @@ from nova.objects import instance
from nova.objects import security_group
from nova.tests.unit.objects import test_objects
from nova.tests import uuidsentinel as uuids
from oslo_versionedobjects import fixture as ovo_fixture
fake_secgroup = {
@ -42,8 +43,8 @@ class _TestSecurityGroupObject(object):
db.security_group_get(self.context, 1).AndReturn(fake_secgroup)
self.mox.ReplayAll()
secgroup = security_group.SecurityGroup.get(self.context, 1)
self.assertEqual(self._fix_deleted(fake_secgroup),
dict(secgroup.items()))
ovo_fixture.compare_obj(self, secgroup,
self._fix_deleted(fake_secgroup))
self.assertEqual(secgroup.obj_what_changed(), set())
def test_get_by_name(self):
@ -54,8 +55,8 @@ class _TestSecurityGroupObject(object):
secgroup = security_group.SecurityGroup.get_by_name(self.context,
'fake-project',
'fake-name')
self.assertEqual(self._fix_deleted(fake_secgroup),
dict(secgroup.items()))
ovo_fixture.compare_obj(self, secgroup,
self._fix_deleted(fake_secgroup))
self.assertEqual(secgroup.obj_what_changed(), set())
def test_in_use(self):
@ -78,8 +79,8 @@ class _TestSecurityGroupObject(object):
fake_secgroup)
secgroup.description = 'foobar'
secgroup.save()
self.assertEqual(self._fix_deleted(updated_secgroup),
dict(secgroup.items()))
ovo_fixture.compare_obj(self, secgroup,
self._fix_deleted(updated_secgroup))
self.assertEqual(secgroup.obj_what_changed(), set())
def test_save_no_changes(self):
@ -99,8 +100,8 @@ class _TestSecurityGroupObject(object):
self.context, security_group.SecurityGroup(self.context),
fake_secgroup)
secgroup.refresh()
self.assertEqual(self._fix_deleted(updated_secgroup),
dict(secgroup.items()))
ovo_fixture.compare_obj(self, secgroup,
self._fix_deleted(updated_secgroup))
self.assertEqual(secgroup.obj_what_changed(), set())
@ -130,7 +131,7 @@ class _TestSecurityGroupListObject(object):
self.assertIsInstance(secgroup_list[i],
security_group.SecurityGroup)
self.assertEqual(fake_secgroups[i]['id'],
secgroup_list[i]['id'])
secgroup_list[i].id)
self.assertEqual(secgroup_list[i]._context, self.context)
def test_get_by_project(self):
@ -145,7 +146,7 @@ class _TestSecurityGroupListObject(object):
self.assertIsInstance(secgroup_list[i],
security_group.SecurityGroup)
self.assertEqual(fake_secgroups[i]['id'],
secgroup_list[i]['id'])
secgroup_list[i].id)
def test_get_by_instance(self):
inst = instance.Instance()
@ -161,7 +162,7 @@ class _TestSecurityGroupListObject(object):
self.assertIsInstance(secgroup_list[i],
security_group.SecurityGroup)
self.assertEqual(fake_secgroups[i]['id'],
secgroup_list[i]['id'])
secgroup_list[i].id)
class TestSecurityGroupListObject(test_objects._LocalTest,

View File

@ -171,40 +171,40 @@ class IptablesFirewallTestCase(test.NoDBTestCase):
name='testsourcegroup',
description='src group')
r1 = objects.SecurityGroupRule(parent_group_id=secgroup['id'],
r1 = objects.SecurityGroupRule(parent_group_id=secgroup.id,
protocol='icmp',
from_port=-1,
to_port=-1,
cidr='192.168.11.0/24',
grantee_group=None)
r2 = objects.SecurityGroupRule(parent_group_id=secgroup['id'],
r2 = objects.SecurityGroupRule(parent_group_id=secgroup.id,
protocol='icmp',
from_port=8,
to_port=-1,
cidr='192.168.11.0/24',
grantee_group=None)
r3 = objects.SecurityGroupRule(parent_group_id=secgroup['id'],
r3 = objects.SecurityGroupRule(parent_group_id=secgroup.id,
protocol='tcp',
from_port=80,
to_port=81,
cidr='192.168.10.0/24',
grantee_group=None)
r4 = objects.SecurityGroupRule(parent_group_id=secgroup['id'],
r4 = objects.SecurityGroupRule(parent_group_id=secgroup.id,
protocol='tcp',
from_port=80,
to_port=81,
cidr=None,
grantee_group=src_secgroup,
group_id=src_secgroup['id'])
group_id=src_secgroup.id)
r5 = objects.SecurityGroupRule(parent_group_id=secgroup['id'],
r5 = objects.SecurityGroupRule(parent_group_id=secgroup.id,
protocol=None,
cidr=None,
grantee_group=src_secgroup,
group_id=src_secgroup['id'])
group_id=src_secgroup.id)
secgroup_list = objects.SecurityGroupList()
secgroup_list.objects.append(secgroup)
@ -217,7 +217,7 @@ class IptablesFirewallTestCase(test.NoDBTestCase):
objects=[r1, r2, r3, r4, r5])
def _fake_instlist(ctxt, id):
if id == src_secgroup['id']:
if id == src_secgroup.id:
insts = objects.InstanceList()
insts.objects.append(src_instance_ref)
return insts