Merge "Do not set the context twice when forming RPC objects"
This commit is contained in:
commit
d32fa2767c
@ -74,9 +74,6 @@ class Chassis(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_chassis = cls.dbapi.get_chassis_by_id(chassis_id)
|
db_chassis = cls.dbapi.get_chassis_by_id(chassis_id)
|
||||||
chassis = Chassis._from_db_object(cls(context), db_chassis)
|
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
|
return chassis
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -89,9 +86,6 @@ class Chassis(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_chassis = cls.dbapi.get_chassis_by_uuid(uuid)
|
db_chassis = cls.dbapi.get_chassis_by_uuid(uuid)
|
||||||
chassis = Chassis._from_db_object(cls(context), db_chassis)
|
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
|
return chassis
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -107,18 +101,12 @@ class Chassis(base.IronicObject):
|
|||||||
:returns: a list of :class:`Chassis` object.
|
:returns: a list of :class:`Chassis` object.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
chassis_list = []
|
|
||||||
db_chassis = cls.dbapi.get_chassis_list(limit=limit,
|
db_chassis = cls.dbapi.get_chassis_list(limit=limit,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir)
|
sort_dir=sort_dir)
|
||||||
for obj in db_chassis:
|
return [Chassis._from_db_object(cls(context), obj)
|
||||||
chassis = Chassis._from_db_object(cls(context), obj)
|
for obj in db_chassis]
|
||||||
# FIXME(comstud): Setting of the context should be moved to
|
|
||||||
# _from_db_object().
|
|
||||||
chassis._context = context
|
|
||||||
chassis_list.append(chassis)
|
|
||||||
return chassis_list
|
|
||||||
|
|
||||||
@base.remotable
|
@base.remotable
|
||||||
def create(self, context=None):
|
def create(self, context=None):
|
||||||
|
@ -48,9 +48,6 @@ class Conductor(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_obj = cls.dbapi.get_conductor(hostname)
|
db_obj = cls.dbapi.get_conductor(hostname)
|
||||||
conductor = Conductor._from_db_object(cls(context), db_obj)
|
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
|
return conductor
|
||||||
|
|
||||||
def save(self, context):
|
def save(self, context):
|
||||||
|
@ -100,9 +100,6 @@ class Node(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_node = cls.dbapi.get_node_by_id(node_id)
|
db_node = cls.dbapi.get_node_by_id(node_id)
|
||||||
node = Node._from_db_object(cls(context), db_node)
|
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
|
return node
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -114,9 +111,6 @@ class Node(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_node = cls.dbapi.get_node_by_uuid(uuid)
|
db_node = cls.dbapi.get_node_by_uuid(uuid)
|
||||||
node = Node._from_db_object(cls(context), db_node)
|
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
|
return node
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -128,9 +122,6 @@ class Node(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_node = cls.dbapi.get_node_by_instance(instance_uuid)
|
db_node = cls.dbapi.get_node_by_instance(instance_uuid)
|
||||||
node = Node._from_db_object(cls(context), db_node)
|
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
|
return node
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -147,17 +138,10 @@ class Node(base.IronicObject):
|
|||||||
:returns: a list of :class:`Node` object.
|
:returns: a list of :class:`Node` object.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
node_list = []
|
|
||||||
db_nodes = cls.dbapi.get_node_list(filters=filters, limit=limit,
|
db_nodes = cls.dbapi.get_node_list(filters=filters, limit=limit,
|
||||||
marker=marker, sort_key=sort_key,
|
marker=marker, sort_key=sort_key,
|
||||||
sort_dir=sort_dir)
|
sort_dir=sort_dir)
|
||||||
for obj in db_nodes:
|
return [Node._from_db_object(cls(context), obj) 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
|
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
def reserve(cls, context, tag, node_id):
|
def reserve(cls, context, tag, node_id):
|
||||||
@ -175,9 +159,6 @@ class Node(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_node = cls.dbapi.reserve_node(tag, node_id)
|
db_node = cls.dbapi.reserve_node(tag, node_id)
|
||||||
node = Node._from_db_object(cls(context), db_node)
|
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
|
return node
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
|
@ -51,14 +51,7 @@ class Port(base.IronicObject):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def _from_db_object_list(db_objects, cls, context):
|
def _from_db_object_list(db_objects, cls, context):
|
||||||
"""Converts a list of database entities to a list of formal objects."""
|
"""Converts a list of database entities to a list of formal objects."""
|
||||||
port_list = []
|
return [Port._from_db_object(cls(context), obj) for obj in db_objects]
|
||||||
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
|
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
def get(cls, context, port_id):
|
def get(cls, context, port_id):
|
||||||
@ -85,9 +78,6 @@ class Port(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_port = cls.dbapi.get_port_by_id(port_id)
|
db_port = cls.dbapi.get_port_by_id(port_id)
|
||||||
port = Port._from_db_object(cls(context), db_port)
|
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
|
return port
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -100,9 +90,6 @@ class Port(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_port = cls.dbapi.get_port_by_uuid(uuid)
|
db_port = cls.dbapi.get_port_by_uuid(uuid)
|
||||||
port = Port._from_db_object(cls(context), db_port)
|
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
|
return port
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
@ -115,9 +102,6 @@ class Port(base.IronicObject):
|
|||||||
"""
|
"""
|
||||||
db_port = cls.dbapi.get_port_by_address(address)
|
db_port = cls.dbapi.get_port_by_address(address)
|
||||||
port = Port._from_db_object(cls(context), db_port)
|
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
|
return port
|
||||||
|
|
||||||
@base.remotable_classmethod
|
@base.remotable_classmethod
|
||||||
|
@ -38,9 +38,10 @@ class TestChassisObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_chassis:
|
autospec=True) as mock_get_chassis:
|
||||||
mock_get_chassis.return_value = self.fake_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)
|
mock_get_chassis.assert_called_once_with(chassis_id)
|
||||||
|
self.assertEqual(self.context, chassis._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
uuid = self.fake_chassis['uuid']
|
uuid = self.fake_chassis['uuid']
|
||||||
@ -48,9 +49,10 @@ class TestChassisObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_chassis:
|
autospec=True) as mock_get_chassis:
|
||||||
mock_get_chassis.return_value = self.fake_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)
|
mock_get_chassis.assert_called_once_with(uuid)
|
||||||
|
self.assertEqual(self.context, chassis._context)
|
||||||
|
|
||||||
def test_get_bad_id_and_uuid(self):
|
def test_get_bad_id_and_uuid(self):
|
||||||
self.assertRaises(exception.InvalidIdentity,
|
self.assertRaises(exception.InvalidIdentity,
|
||||||
@ -71,6 +73,7 @@ class TestChassisObject(base.DbTestCase):
|
|||||||
mock_get_chassis.assert_called_once_with(uuid)
|
mock_get_chassis.assert_called_once_with(uuid)
|
||||||
mock_update_chassis.assert_called_once_with(
|
mock_update_chassis.assert_called_once_with(
|
||||||
uuid, {'extra': {"test": 123}})
|
uuid, {'extra': {"test": 123}})
|
||||||
|
self.assertEqual(self.context, c._context)
|
||||||
|
|
||||||
def test_refresh(self):
|
def test_refresh(self):
|
||||||
uuid = self.fake_chassis['uuid']
|
uuid = self.fake_chassis['uuid']
|
||||||
@ -86,6 +89,7 @@ class TestChassisObject(base.DbTestCase):
|
|||||||
c.refresh()
|
c.refresh()
|
||||||
self.assertEqual(new_uuid, c.uuid)
|
self.assertEqual(new_uuid, c.uuid)
|
||||||
self.assertEqual(expected, mock_get_chassis.call_args_list)
|
self.assertEqual(expected, mock_get_chassis.call_args_list)
|
||||||
|
self.assertEqual(self.context, c._context)
|
||||||
|
|
||||||
def test_list(self):
|
def test_list(self):
|
||||||
with mock.patch.object(self.dbapi, 'get_chassis_list',
|
with mock.patch.object(self.dbapi, 'get_chassis_list',
|
||||||
@ -94,3 +98,4 @@ class TestChassisObject(base.DbTestCase):
|
|||||||
chassis = objects.Chassis.list(self.context)
|
chassis = objects.Chassis.list(self.context)
|
||||||
self.assertThat(chassis, HasLength(1))
|
self.assertThat(chassis, HasLength(1))
|
||||||
self.assertIsInstance(chassis[0], objects.Chassis)
|
self.assertIsInstance(chassis[0], objects.Chassis)
|
||||||
|
self.assertEqual(self.context, chassis[0]._context)
|
||||||
|
@ -81,3 +81,4 @@ class TestConductorObject(base.DbTestCase):
|
|||||||
c.refresh()
|
c.refresh()
|
||||||
self.assertEqual(obj_utils.datetime_or_none(t1), c.updated_at)
|
self.assertEqual(obj_utils.datetime_or_none(t1), c.updated_at)
|
||||||
self.assertEqual(expected, mock_get_cdr.call_args_list)
|
self.assertEqual(expected, mock_get_cdr.call_args_list)
|
||||||
|
self.assertEqual(self.context, c._context)
|
||||||
|
@ -36,9 +36,10 @@ class TestNodeObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_node:
|
autospec=True) as mock_get_node:
|
||||||
mock_get_node.return_value = self.fake_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)
|
mock_get_node.assert_called_once_with(node_id)
|
||||||
|
self.assertEqual(self.context, node._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
uuid = self.fake_node['uuid']
|
uuid = self.fake_node['uuid']
|
||||||
@ -46,9 +47,10 @@ class TestNodeObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_node:
|
autospec=True) as mock_get_node:
|
||||||
mock_get_node.return_value = self.fake_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)
|
mock_get_node.assert_called_once_with(uuid)
|
||||||
|
self.assertEqual(self.context, node._context)
|
||||||
|
|
||||||
def test_get_bad_id_and_uuid(self):
|
def test_get_bad_id_and_uuid(self):
|
||||||
self.assertRaises(exception.InvalidIdentity,
|
self.assertRaises(exception.InvalidIdentity,
|
||||||
@ -69,6 +71,7 @@ class TestNodeObject(base.DbTestCase):
|
|||||||
mock_get_node.assert_called_once_with(uuid)
|
mock_get_node.assert_called_once_with(uuid)
|
||||||
mock_update_node.assert_called_once_with(
|
mock_update_node.assert_called_once_with(
|
||||||
uuid, {'properties': {"fake": "property"}})
|
uuid, {'properties': {"fake": "property"}})
|
||||||
|
self.assertEqual(self.context, n._context)
|
||||||
|
|
||||||
def test_refresh(self):
|
def test_refresh(self):
|
||||||
uuid = self.fake_node['uuid']
|
uuid = self.fake_node['uuid']
|
||||||
@ -83,6 +86,7 @@ class TestNodeObject(base.DbTestCase):
|
|||||||
n.refresh()
|
n.refresh()
|
||||||
self.assertEqual({"fake": "second"}, n.properties)
|
self.assertEqual({"fake": "second"}, n.properties)
|
||||||
self.assertEqual(expected, mock_get_node.call_args_list)
|
self.assertEqual(expected, mock_get_node.call_args_list)
|
||||||
|
self.assertEqual(self.context, n._context)
|
||||||
|
|
||||||
def test_list(self):
|
def test_list(self):
|
||||||
with mock.patch.object(self.dbapi, 'get_node_list',
|
with mock.patch.object(self.dbapi, 'get_node_list',
|
||||||
@ -91,6 +95,7 @@ class TestNodeObject(base.DbTestCase):
|
|||||||
nodes = objects.Node.list(self.context)
|
nodes = objects.Node.list(self.context)
|
||||||
self.assertThat(nodes, HasLength(1))
|
self.assertThat(nodes, HasLength(1))
|
||||||
self.assertIsInstance(nodes[0], objects.Node)
|
self.assertIsInstance(nodes[0], objects.Node)
|
||||||
|
self.assertEqual(self.context, nodes[0]._context)
|
||||||
|
|
||||||
def test_reserve(self):
|
def test_reserve(self):
|
||||||
with mock.patch.object(self.dbapi, 'reserve_node',
|
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)
|
node = objects.Node.reserve(self.context, fake_tag, node_id)
|
||||||
self.assertIsInstance(node, objects.Node)
|
self.assertIsInstance(node, objects.Node)
|
||||||
mock_reserve.assert_called_once_with(fake_tag, node_id)
|
mock_reserve.assert_called_once_with(fake_tag, node_id)
|
||||||
|
self.assertEqual(self.context, node._context)
|
||||||
|
|
||||||
def test_reserve_node_not_found(self):
|
def test_reserve_node_not_found(self):
|
||||||
with mock.patch.object(self.dbapi, 'reserve_node',
|
with mock.patch.object(self.dbapi, 'reserve_node',
|
||||||
|
@ -36,9 +36,10 @@ class TestPortObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_port:
|
autospec=True) as mock_get_port:
|
||||||
mock_get_port.return_value = self.fake_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)
|
mock_get_port.assert_called_once_with(port_id)
|
||||||
|
self.assertEqual(self.context, port._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
uuid = self.fake_port['uuid']
|
uuid = self.fake_port['uuid']
|
||||||
@ -46,9 +47,10 @@ class TestPortObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_port:
|
autospec=True) as mock_get_port:
|
||||||
mock_get_port.return_value = self.fake_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)
|
mock_get_port.assert_called_once_with(uuid)
|
||||||
|
self.assertEqual(self.context, port._context)
|
||||||
|
|
||||||
def test_get_by_address(self):
|
def test_get_by_address(self):
|
||||||
address = self.fake_port['address']
|
address = self.fake_port['address']
|
||||||
@ -56,9 +58,10 @@ class TestPortObject(base.DbTestCase):
|
|||||||
autospec=True) as mock_get_port:
|
autospec=True) as mock_get_port:
|
||||||
mock_get_port.return_value = self.fake_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)
|
mock_get_port.assert_called_once_with(address)
|
||||||
|
self.assertEqual(self.context, port._context)
|
||||||
|
|
||||||
def test_get_bad_id_and_uuid_and_address(self):
|
def test_get_bad_id_and_uuid_and_address(self):
|
||||||
self.assertRaises(exception.InvalidIdentity,
|
self.assertRaises(exception.InvalidIdentity,
|
||||||
@ -78,6 +81,7 @@ class TestPortObject(base.DbTestCase):
|
|||||||
mock_get_port.assert_called_once_with(uuid)
|
mock_get_port.assert_called_once_with(uuid)
|
||||||
mock_update_port.assert_called_once_with(
|
mock_update_port.assert_called_once_with(
|
||||||
uuid, {'address': "b2:54:00:cf:2d:40"})
|
uuid, {'address': "b2:54:00:cf:2d:40"})
|
||||||
|
self.assertEqual(self.context, p._context)
|
||||||
|
|
||||||
def test_refresh(self):
|
def test_refresh(self):
|
||||||
uuid = self.fake_port['uuid']
|
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("c3:54:00:cf:2d:40", p.address)
|
||||||
|
|
||||||
self.assertEqual(expected, mock_get_port.call_args_list)
|
self.assertEqual(expected, mock_get_port.call_args_list)
|
||||||
|
self.assertEqual(self.context, p._context)
|
||||||
|
|
||||||
def test_list(self):
|
def test_list(self):
|
||||||
with mock.patch.object(self.dbapi, 'get_port_list',
|
with mock.patch.object(self.dbapi, 'get_port_list',
|
||||||
@ -101,3 +106,4 @@ class TestPortObject(base.DbTestCase):
|
|||||||
ports = objects.Port.list(self.context)
|
ports = objects.Port.list(self.context)
|
||||||
self.assertThat(ports, HasLength(1))
|
self.assertThat(ports, HasLength(1))
|
||||||
self.assertIsInstance(ports[0], objects.Port)
|
self.assertIsInstance(ports[0], objects.Port)
|
||||||
|
self.assertEqual(self.context, ports[0]._context)
|
||||||
|
Loading…
Reference in New Issue
Block a user