summaryrefslogtreecommitdiffstats
path: root/nova/tests/scheduler/test_chance_scheduler.py
diff options
context:
space:
mode:
authorKevin L. Mitchell <kevin.mitchell@rackspace.com>2011-11-17 13:47:56 -0600
committerKevin L. Mitchell <kevin.mitchell@rackspace.com>2011-11-18 17:35:43 +0000
commit72fa94f72b361a6c097eaf071fe7f26b2ba4e924 (patch)
tree7ddcb91d72f25035672c3e86a0d00a1883c825dc /nova/tests/scheduler/test_chance_scheduler.py
parent15937a41609a0216020aa23a8debbd10c1f74de6 (diff)
downloadnova-72fa94f72b361a6c097eaf071fe7f26b2ba4e924.tar.gz
nova-72fa94f72b361a6c097eaf071fe7f26b2ba4e924.tar.xz
nova-72fa94f72b361a6c097eaf071fe7f26b2ba4e924.zip
Implement schedule_prep_resize()
Implement schedule_prep_resize() in the distributed scheduler. Adds a request_spec argument to enable the current host of an instance to be excluded for resizes. Corrects bug 888236. Change-Id: Ia52415e79639275a06bef59f1e13ca64bf7243ee
Diffstat (limited to 'nova/tests/scheduler/test_chance_scheduler.py')
-rw-r--r--nova/tests/scheduler/test_chance_scheduler.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/nova/tests/scheduler/test_chance_scheduler.py b/nova/tests/scheduler/test_chance_scheduler.py
new file mode 100644
index 000000000..8d4c73adb
--- /dev/null
+++ b/nova/tests/scheduler/test_chance_scheduler.py
@@ -0,0 +1,50 @@
+# Copyright 2011 OpenStack LLC.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+"""
+Tests For Chance Scheduler.
+"""
+
+from nova import test
+from nova.scheduler import chance
+
+
+class ChanceSchedulerTestCase(test.TestCase):
+ """Test case for Chance Scheduler."""
+
+ def test_filter_hosts_avoid(self):
+ """Test to make sure _filter_hosts() filters original hosts if
+ avoid_original_host is True."""
+
+ sched = chance.ChanceScheduler()
+
+ hosts = ['host1', 'host2', 'host3']
+ request_spec = dict(original_host='host2',
+ avoid_original_host=True)
+
+ filtered = sched._filter_hosts(request_spec, hosts)
+ self.assertEqual(filtered, ['host1', 'host3'])
+
+ def test_filter_hosts_no_avoid(self):
+ """Test to make sure _filter_hosts() does not filter original
+ hosts if avoid_original_host is False."""
+
+ sched = chance.ChanceScheduler()
+
+ hosts = ['host1', 'host2', 'host3']
+ request_spec = dict(original_host='host2',
+ avoid_original_host=False)
+
+ filtered = sched._filter_hosts(request_spec, hosts)
+ self.assertEqual(filtered, hosts)