def setUp(self): super(TestMetricsCost, self).setUp() self.context = context.RequestContext('fake_usr', 'fake_proj') self.cost_handler = costs.CostHandler() self.cost_classes = self.cost_handler.get_matching_classes( ['nova_solverscheduler.scheduler.solvers.costs.metrics_cost.' 'MetricsCost'])
def setUp(self): super(TestTenantRackAffinityCost, self).setUp() self.context = context.RequestContext('fake_usr', 'fake_proj') self.cost_handler = costs.CostHandler() self.cost_classes = self.cost_handler.get_matching_classes([ 'nova_solverscheduler.scheduler.solvers.costs.' 'tenant_rack_affinity_cost.TenantRackAffinityCost' ])
def setUp(self): super(CostTestBase, self).setUp() self.context = context.RequestContext('fake', 'fake') cost_handler = costs.CostHandler() classes = cost_handler.get_matching_classes( ['nova_solverscheduler.scheduler.solvers.costs.all_costs']) self.class_map = {} for c in classes: self.class_map[c.__name__] = c
def _get_cost_classes(self): """Get cost classes from configuration.""" cost_classes = [] bad_cost_names = [] cost_handler = costs.CostHandler() all_cost_classes = cost_handler.get_all_classes() all_cost_names = [c.__name__ for c in all_cost_classes] expected_costs = CONF.solver_scheduler.scheduler_solver_costs for cost in expected_costs: if cost in all_cost_names: cost_classes.append( all_cost_classes[all_cost_names.index(cost)]) else: bad_cost_names.append(cost) if bad_cost_names: msg = ", ".join(bad_cost_names) raise exception.SchedulerSolverCostNotFound(cost_name=msg) return cost_classes