示例#1
0
 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'
     ])
示例#3
0
 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
示例#4
0
 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