summaryrefslogtreecommitdiffstats
path: root/nova/scheduler
diff options
context:
space:
mode:
Diffstat (limited to 'nova/scheduler')
-rw-r--r--nova/scheduler/base_scheduler.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/nova/scheduler/base_scheduler.py b/nova/scheduler/base_scheduler.py
index 35e5af035..e9c078b81 100644
--- a/nova/scheduler/base_scheduler.py
+++ b/nova/scheduler/base_scheduler.py
@@ -55,5 +55,17 @@ class BaseScheduler(abstract_scheduler.AbstractScheduler):
scheduling objectives
"""
# NOTE(sirp): The default logic is the same as the NoopCostFunction
- return [dict(weight=1, hostname=hostname, capabilities=capabilities)
- for hostname, capabilities in hosts]
+ hosts = [dict(weight=1, hostname=hostname, capabilities=capabilities)
+ for hostname, capabilities in hosts]
+
+ # NOTE(Vek): What we actually need to return is enough hosts
+ # for all the instances!
+ num_instances = request_spec.get('num_instances', 1)
+ instances = []
+ while num_instances > len(hosts):
+ instances.extend(hosts)
+ num_instances -= len(hosts)
+ if num_instances > 0:
+ instances.extend(hosts[:num_instances])
+
+ return instances