コード例 #1
0
 def __init__(self):
     super(CellsAPI, self).__init__()
     target = messaging.Target(topic=CONF.cells.topic, version='1.0')
     version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cells,
                                            CONF.upgrade_levels.cells)
     # NOTE(sbauza): Yes, this is ugly but cells_utils is calling cells.db
     # which itself calls cells.rpcapi... You meant import cycling ? Gah.
     from nova.cells import utils as cells_utils
     serializer = cells_utils.ProxyObjectSerializer()
     self.client = rpc.get_client(target,
                                  version_cap=version_cap,
                                  serializer=serializer)
コード例 #2
0
    def test_proxy_object_serializer_to_primitive(self):
        obj = objects.ComputeNode(id=1, host='fake')
        obj_proxy = cells_utils.ComputeNodeProxy(obj, 'fake_path')
        serializer = cells_utils.ProxyObjectSerializer()

        primitive = serializer.serialize_entity('ctx', obj_proxy)
        self.assertIsInstance(primitive, dict)
        class_name = primitive.pop('cell_proxy.class_name')
        cell_path = primitive.pop('cell_proxy.cell_path')
        self.assertEqual('ComputeNodeProxy', class_name)
        self.assertEqual('fake_path', cell_path)
        self.assertEqual(obj.obj_to_primitive(), primitive)
コード例 #3
0
    def test_proxy_object_serializer_from_primitive(self):
        obj = objects.ComputeNode(id=1, host='fake')
        serializer = cells_utils.ProxyObjectSerializer()

        # Recreating the primitive by hand to isolate the test for only
        # the deserializing method
        primitive = obj.obj_to_primitive()
        primitive['cell_proxy.class_name'] = 'ComputeNodeProxy'
        primitive['cell_proxy.cell_path'] = 'fake_path'

        result = serializer.deserialize_entity('ctx', primitive)
        self.assertIsInstance(result, cells_utils.ComputeNodeProxy)
        self.assertEqual(obj.obj_to_primitive(),
                         result._obj.obj_to_primitive())
        self.assertEqual('fake_path', result._cell_path)