Using import_class to import filter_host driver

This commit is contained in:
Rick Harris
2011-05-17 17:44:08 -05:00
parent 293187354b
commit 2000f6da7b

View File

@@ -42,6 +42,7 @@ from nova import exception
from nova import flags from nova import flags
from nova import log as logging from nova import log as logging
from nova.scheduler import zone_aware_scheduler from nova.scheduler import zone_aware_scheduler
from nova import utils
LOG = logging.getLogger('nova.scheduler.host_filter') LOG = logging.getLogger('nova.scheduler.host_filter')
@@ -283,11 +284,13 @@ def choose_driver(driver_name=None):
if not driver_name: if not driver_name:
driver_name = FLAGS.default_host_filter_driver driver_name = FLAGS.default_host_filter_driver
# FIXME(sirp): use utils.import_class here
for driver in DRIVERS: try:
if "%s.%s" % (driver.__module__, driver.__name__) == driver_name: driver = utils.import_object(driver_name)
return driver() return driver
raise exception.SchedulerHostFilterDriverNotFound(driver_name=driver_name) except exception.ClassNotFound:
raise exception.SchedulerHostFilterDriverNotFound(
driver_name=driver_name)
class HostFilterScheduler(zone_aware_scheduler.ZoneAwareScheduler): class HostFilterScheduler(zone_aware_scheduler.ZoneAwareScheduler):