Merge "Do not set the context twice when forming RPC objects"

This commit is contained in:
Jenkins 2014-09-22 19:13:05 +00:00 committed by Gerrit Code Review
commit d32fa2767c
8 changed files with 29 additions and 61 deletions

View File

@ -74,9 +74,6 @@ class Chassis(base.IronicObject):
"""
db_chassis = cls.dbapi.get_chassis_by_id(chassis_id)
chassis = Chassis._from_db_object(cls(context), db_chassis)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
chassis._context = context
return chassis
@base.remotable_classmethod
@ -89,9 +86,6 @@ class Chassis(base.IronicObject):
"""
db_chassis = cls.dbapi.get_chassis_by_uuid(uuid)
chassis = Chassis._from_db_object(cls(context), db_chassis)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
chassis._context = context
return chassis
@base.remotable_classmethod
@ -107,18 +101,12 @@ class Chassis(base.IronicObject):
:returns: a list of :class:`Chassis` object.
"""
chassis_list = []
db_chassis = cls.dbapi.get_chassis_list(limit=limit,
marker=marker,
sort_key=sort_key,
sort_dir=sort_dir)
for obj in db_chassis:
chassis = Chassis._from_db_object(cls(context), obj)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
chassis._context = context
chassis_list.append(chassis)
return chassis_list
return [Chassis._from_db_object(cls(context), obj)
for obj in db_chassis]
@base.remotable
def create(self, context=None):

View File

@ -48,9 +48,6 @@ class Conductor(base.IronicObject):
"""
db_obj = cls.dbapi.get_conductor(hostname)
conductor = Conductor._from_db_object(cls(context), db_obj)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
conductor._context = context
return conductor
def save(self, context):

View File

@ -100,9 +100,6 @@ class Node(base.IronicObject):
"""
db_node = cls.dbapi.get_node_by_id(node_id)
node = Node._from_db_object(cls(context), db_node)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
node._context = context
return node
@base.remotable_classmethod
@ -114,9 +111,6 @@ class Node(base.IronicObject):
"""
db_node = cls.dbapi.get_node_by_uuid(uuid)
node = Node._from_db_object(cls(context), db_node)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
node._context = context
return node
@base.remotable_classmethod
@ -128,9 +122,6 @@ class Node(base.IronicObject):
"""
db_node = cls.dbapi.get_node_by_instance(instance_uuid)
node = Node._from_db_object(cls(context), db_node)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
node._context = context
return node
@base.remotable_classmethod
@ -147,17 +138,10 @@ class Node(base.IronicObject):
:returns: a list of :class:`Node` object.
"""
node_list = []
db_nodes = cls.dbapi.get_node_list(filters=filters, limit=limit,
marker=marker, sort_key=sort_key,
sort_dir=sort_dir)
for obj in db_nodes:
node = Node._from_db_object(cls(context), obj)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
node._context = context
node_list.append(node)
return node_list
return [Node._from_db_object(cls(context), obj) for obj in db_nodes]
@base.remotable_classmethod
def reserve(cls, context, tag, node_id):
@ -175,9 +159,6 @@ class Node(base.IronicObject):
"""
db_node = cls.dbapi.reserve_node(tag, node_id)
node = Node._from_db_object(cls(context), db_node)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
node._context = context
return node
@base.remotable_classmethod

View File

@ -51,14 +51,7 @@ class Port(base.IronicObject):
@staticmethod
def _from_db_object_list(db_objects, cls, context):
"""Converts a list of database entities to a list of formal objects."""
port_list = []
for obj in db_objects:
port = Port._from_db_object(cls(context), obj)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
port._context = context
port_list.append(port)
return port_list
return [Port._from_db_object(cls(context), obj) for obj in db_objects]
@base.remotable_classmethod
def get(cls, context, port_id):
@ -85,9 +78,6 @@ class Port(base.IronicObject):
"""
db_port = cls.dbapi.get_port_by_id(port_id)
port = Port._from_db_object(cls(context), db_port)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
port._context = context
return port
@base.remotable_classmethod
@ -100,9 +90,6 @@ class Port(base.IronicObject):
"""
db_port = cls.dbapi.get_port_by_uuid(uuid)
port = Port._from_db_object(cls(context), db_port)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
port._context = context
return port
@base.remotable_classmethod
@ -115,9 +102,6 @@ class Port(base.IronicObject):
"""
db_port = cls.dbapi.get_port_by_address(address)
port = Port._from_db_object(cls(context), db_port)
# FIXME(comstud): Setting of the context should be moved to
# _from_db_object().
port._context = context
return port
@base.remotable_classmethod

View File

@ -38,9 +38,10 @@ class TestChassisObject(base.DbTestCase):
autospec=True) as mock_get_chassis:
mock_get_chassis.return_value = self.fake_chassis
objects.Chassis.get(self.context, chassis_id)
chassis = objects.Chassis.get(self.context, chassis_id)
mock_get_chassis.assert_called_once_with(chassis_id)
self.assertEqual(self.context, chassis._context)
def test_get_by_uuid(self):
uuid = self.fake_chassis['uuid']
@ -48,9 +49,10 @@ class TestChassisObject(base.DbTestCase):
autospec=True) as mock_get_chassis:
mock_get_chassis.return_value = self.fake_chassis
objects.Chassis.get(self.context, uuid)
chassis = objects.Chassis.get(self.context, uuid)
mock_get_chassis.assert_called_once_with(uuid)
self.assertEqual(self.context, chassis._context)
def test_get_bad_id_and_uuid(self):
self.assertRaises(exception.InvalidIdentity,
@ -71,6 +73,7 @@ class TestChassisObject(base.DbTestCase):
mock_get_chassis.assert_called_once_with(uuid)
mock_update_chassis.assert_called_once_with(
uuid, {'extra': {"test": 123}})
self.assertEqual(self.context, c._context)
def test_refresh(self):
uuid = self.fake_chassis['uuid']
@ -86,6 +89,7 @@ class TestChassisObject(base.DbTestCase):
c.refresh()
self.assertEqual(new_uuid, c.uuid)
self.assertEqual(expected, mock_get_chassis.call_args_list)
self.assertEqual(self.context, c._context)
def test_list(self):
with mock.patch.object(self.dbapi, 'get_chassis_list',
@ -94,3 +98,4 @@ class TestChassisObject(base.DbTestCase):
chassis = objects.Chassis.list(self.context)
self.assertThat(chassis, HasLength(1))
self.assertIsInstance(chassis[0], objects.Chassis)
self.assertEqual(self.context, chassis[0]._context)

View File

@ -81,3 +81,4 @@ class TestConductorObject(base.DbTestCase):
c.refresh()
self.assertEqual(obj_utils.datetime_or_none(t1), c.updated_at)
self.assertEqual(expected, mock_get_cdr.call_args_list)
self.assertEqual(self.context, c._context)

View File

@ -36,9 +36,10 @@ class TestNodeObject(base.DbTestCase):
autospec=True) as mock_get_node:
mock_get_node.return_value = self.fake_node
objects.Node.get(self.context, node_id)
node = objects.Node.get(self.context, node_id)
mock_get_node.assert_called_once_with(node_id)
self.assertEqual(self.context, node._context)
def test_get_by_uuid(self):
uuid = self.fake_node['uuid']
@ -46,9 +47,10 @@ class TestNodeObject(base.DbTestCase):
autospec=True) as mock_get_node:
mock_get_node.return_value = self.fake_node
objects.Node.get(self.context, uuid)
node = objects.Node.get(self.context, uuid)
mock_get_node.assert_called_once_with(uuid)
self.assertEqual(self.context, node._context)
def test_get_bad_id_and_uuid(self):
self.assertRaises(exception.InvalidIdentity,
@ -69,6 +71,7 @@ class TestNodeObject(base.DbTestCase):
mock_get_node.assert_called_once_with(uuid)
mock_update_node.assert_called_once_with(
uuid, {'properties': {"fake": "property"}})
self.assertEqual(self.context, n._context)
def test_refresh(self):
uuid = self.fake_node['uuid']
@ -83,6 +86,7 @@ class TestNodeObject(base.DbTestCase):
n.refresh()
self.assertEqual({"fake": "second"}, n.properties)
self.assertEqual(expected, mock_get_node.call_args_list)
self.assertEqual(self.context, n._context)
def test_list(self):
with mock.patch.object(self.dbapi, 'get_node_list',
@ -91,6 +95,7 @@ class TestNodeObject(base.DbTestCase):
nodes = objects.Node.list(self.context)
self.assertThat(nodes, HasLength(1))
self.assertIsInstance(nodes[0], objects.Node)
self.assertEqual(self.context, nodes[0]._context)
def test_reserve(self):
with mock.patch.object(self.dbapi, 'reserve_node',
@ -101,6 +106,7 @@ class TestNodeObject(base.DbTestCase):
node = objects.Node.reserve(self.context, fake_tag, node_id)
self.assertIsInstance(node, objects.Node)
mock_reserve.assert_called_once_with(fake_tag, node_id)
self.assertEqual(self.context, node._context)
def test_reserve_node_not_found(self):
with mock.patch.object(self.dbapi, 'reserve_node',

View File

@ -36,9 +36,10 @@ class TestPortObject(base.DbTestCase):
autospec=True) as mock_get_port:
mock_get_port.return_value = self.fake_port
objects.Port.get(self.context, port_id)
port = objects.Port.get(self.context, port_id)
mock_get_port.assert_called_once_with(port_id)
self.assertEqual(self.context, port._context)
def test_get_by_uuid(self):
uuid = self.fake_port['uuid']
@ -46,9 +47,10 @@ class TestPortObject(base.DbTestCase):
autospec=True) as mock_get_port:
mock_get_port.return_value = self.fake_port
objects.Port.get(self.context, uuid)
port = objects.Port.get(self.context, uuid)
mock_get_port.assert_called_once_with(uuid)
self.assertEqual(self.context, port._context)
def test_get_by_address(self):
address = self.fake_port['address']
@ -56,9 +58,10 @@ class TestPortObject(base.DbTestCase):
autospec=True) as mock_get_port:
mock_get_port.return_value = self.fake_port
objects.Port.get(self.context, address)
port = objects.Port.get(self.context, address)
mock_get_port.assert_called_once_with(address)
self.assertEqual(self.context, port._context)
def test_get_bad_id_and_uuid_and_address(self):
self.assertRaises(exception.InvalidIdentity,
@ -78,6 +81,7 @@ class TestPortObject(base.DbTestCase):
mock_get_port.assert_called_once_with(uuid)
mock_update_port.assert_called_once_with(
uuid, {'address': "b2:54:00:cf:2d:40"})
self.assertEqual(self.context, p._context)
def test_refresh(self):
uuid = self.fake_port['uuid']
@ -93,6 +97,7 @@ class TestPortObject(base.DbTestCase):
self.assertEqual("c3:54:00:cf:2d:40", p.address)
self.assertEqual(expected, mock_get_port.call_args_list)
self.assertEqual(self.context, p._context)
def test_list(self):
with mock.patch.object(self.dbapi, 'get_port_list',
@ -101,3 +106,4 @@ class TestPortObject(base.DbTestCase):
ports = objects.Port.list(self.context)
self.assertThat(ports, HasLength(1))
self.assertIsInstance(ports[0], objects.Port)
self.assertEqual(self.context, ports[0]._context)