コード例 #1
0
 def test_device_destroy(self):
     device_ref = db_api.device_create(self.conf, device_fake1)
     db_api.device_destroy(self.conf, device_ref['id'])
     with self.assertRaises(exception.DeviceNotFound) as cm:
         db_api.device_get(self.conf, device_ref['id'])
     err = cm.exception
     self.assertEqual(err.kwargs, {'device_id': device_ref['id']})
コード例 #2
0
 def test_device_get_several(self):
     device_ref1 = db_api.device_create(self.conf, device_fake1)
     device_ref2 = db_api.device_create(self.conf, device_fake2)
     device_ref3 = db_api.device_get(self.conf, device_ref1["id"])
     device_ref4 = db_api.device_get(self.conf, device_ref2["id"])
     self.assertEqual(dict(device_ref3.iteritems()), dict(device_ref1.iteritems()))
     self.assertEqual(dict(device_ref4.iteritems()), dict(device_ref2.iteritems()))
コード例 #3
0
ファイル: devices.py プロジェクト: yinyangxu/openstack-lbaas
 def show(self, req, **args):
     logger.debug("Got device data request. Request: %s Id: %s" % \
                                                 (req, args['id']))
     try:
         device = db_api.device_get(self.conf, args['id'])
         result = db_api.unpack_extra(device)
         return {'device': result}
     except exception.NotFound:
         raise exc.DeviceNotFound
コード例 #4
0
ファイル: scheduler.py プロジェクト: Frostman/openstack-lbaas
def reschedule(conf, lb_ref):
    filters, cost_functions = _process_config(conf)
    device_ref = db_api.device_get(conf, lb_ref['device_id'])
    try:
        _filter_devices(conf, lb_ref, [device_ref], filters)
    except exp.NoValidDevice:
        devices = db_api.device_get_all(conf)
        devices = [dev_ref for dev_ref in devices
                       if dev_ref['id'] != device_ref['id']]
        filtered = _filter_devices(conf, lb_ref, devices, filters)
        weighted = _weight_devices(conf, lb_ref, filtered, cost_functions)
        return weighted[0][1]
    else:
        return device_ref
コード例 #5
0
def get_device_driver(conf, device_id):
    try:
        return DEVICE_DRIVERS[device_id]
    except KeyError:
        conf.register_opt(drivers_opt)
        drivers = {}
        for driver_str in conf.device_drivers:
            driver_type, _sep, driver = driver_str.partition('=')
            drivers[driver_type.lower()] = utils.import_class(driver)

        device_ref = db_api.device_get(conf, device_id)
        try:
            cls = drivers[device_ref['type'].lower()]
        except KeyError:
            raise NotImplementedError("Driver not found for type %s" % \
                                        (device_ref['type'],))
        DEVICE_DRIVERS[device_id] = cls(conf, device_ref)
        return DEVICE_DRIVERS[device_id]
コード例 #6
0
ファイル: devices.py プロジェクト: SVilgelm/openstack-lbaas
 def show(self, req, id):
     logger.debug("Got device data request. Request: %s" % req)
     device_ref = db_api.device_get(self.conf, id)
     return {'device': db_api.unpack_extra(device_ref)}
コード例 #7
0
 def test_device_get(self):
     device_ref1 = db_api.device_create(self.conf, device_fake1)
     device_ref2 = db_api.device_get(self.conf, device_ref1['id'])
     self.assertEqual(dict(device_ref1.iteritems()),
                      dict(device_ref2.iteritems()))
コード例 #8
0
ファイル: devices.py プロジェクト: Mirantis/openstack-lbaas
 def show(self, req, device_id):
     LOG.debug("Got device data request. Request: %s" % req)
     device_ref = db_api.device_get(self.conf, device_id)
     return {"device": db_api.unpack_extra(device_ref)}