def _GET_servers(self, req, res, body): context = req.environ['engine.context'] servers = self._extract_resource_from_body( res, body, singular='server', singular_template=ServerDiskConfigTemplate(), plural='servers', plural_template=ServersDiskConfigTemplate()) # Filter out any servers that already have the key set (most likely # from a remote zone) servers = filter(lambda s: self.API_DISK_CONFIG not in s, servers) # Get DB information for servers uuids = [server['id'] for server in servers] db_servers = db.instance_get_all_by_filters(context, {'uuid': uuids}) db_servers = dict([(s['uuid'], s) for s in db_servers]) for server in servers: db_server = db_servers.get(server['id']) if db_server: value = db_server[self.INTERNAL_DISK_CONFIG] server[self.API_DISK_CONFIG] = disk_config_to_api(value) return res
def test_instance_get_all_by_filters_deleted(self): args1 = {'reservation_id': 'a', 'image_ref': 1, 'host': 'host1'} inst1 = db.instance_create(self.context, args1) args2 = {'reservation_id': 'b', 'image_ref': 1, 'host': 'host1'} inst2 = db.instance_create(self.context, args2) db.instance_destroy(self.context, inst1.id) result = db.instance_get_all_by_filters(self.context.elevated(), {}) self.assertEqual(2, len(result)) self.assertIn(inst1.id, [result[0].id, result[1].id]) self.assertIn(inst2.id, [result[0].id, result[1].id]) if inst1.id == result[0].id: self.assertTrue(result[0].deleted) else: self.assertTrue(result[1].deleted)
def _GET_servers(self, req, res, body): context = req.environ['engine.context'] servers = self._extract_resource_from_body(res, body, singular='server', singular_template=ServerDiskConfigTemplate(), plural='servers', plural_template=ServersDiskConfigTemplate()) # Filter out any servers that already have the key set (most likely # from a remote zone) servers = filter(lambda s: self.API_DISK_CONFIG not in s, servers) # Get DB information for servers uuids = [server['id'] for server in servers] db_servers = db.instance_get_all_by_filters(context, {'uuid': uuids}) db_servers = dict([(s['uuid'], s) for s in db_servers]) for server in servers: db_server = db_servers.get(server['id']) if db_server: value = db_server[self.INTERNAL_DISK_CONFIG] server[self.API_DISK_CONFIG] = disk_config_to_api(value) return res
def test_instance_get_all_by_filters(self): args = {'reservation_id': 'a', 'image_ref': 1, 'host': 'host1'} inst1 = db.instance_create(self.context, args) inst2 = db.instance_create(self.context, args) result = db.instance_get_all_by_filters(self.context, {}) self.assertTrue(2, len(result))