summaryrefslogtreecommitdiffstats
path: root/nova/tests/scheduler
diff options
context:
space:
mode:
authorKevin L. Mitchell <kevin.mitchell@rackspace.com>2012-05-11 15:30:14 -0500
committerKevin L. Mitchell <kevin.mitchell@rackspace.com>2012-05-23 10:17:41 -0500
commitb7f0946bbd071bc76809eca440ab7d21a03eb1a3 (patch)
tree4f46ad3896cb89c8747bdf09e3f33a476eccbf16 /nova/tests/scheduler
parent7e15d4e28f98e13f0ea7399787c50839139d8492 (diff)
downloadnova-b7f0946bbd071bc76809eca440ab7d21a03eb1a3.tar.gz
nova-b7f0946bbd071bc76809eca440ab7d21a03eb1a3.tar.xz
nova-b7f0946bbd071bc76809eca440ab7d21a03eb1a3.zip
Finish quota refactor.
Finishes quota refactoring by making use of the new quota infrastructure. Partially implements blueprint quota-refactor (the final piece is to remove the old quota architecture). This change is fairly substantial. To make it easier to review, it has been broken up into 3 parts. This is the second part. Change-Id: I1c8b43198f0d44e9e13a45575361aa043fd0639e
Diffstat (limited to 'nova/tests/scheduler')
-rw-r--r--nova/tests/scheduler/test_chance_scheduler.py23
-rw-r--r--nova/tests/scheduler/test_filter_scheduler.py12
-rw-r--r--nova/tests/scheduler/test_rpcapi.py6
-rw-r--r--nova/tests/scheduler/test_scheduler.py6
4 files changed, 26 insertions, 21 deletions
diff --git a/nova/tests/scheduler/test_chance_scheduler.py b/nova/tests/scheduler/test_chance_scheduler.py
index a9bb7a08e..ec853594b 100644
--- a/nova/tests/scheduler/test_chance_scheduler.py
+++ b/nova/tests/scheduler/test_chance_scheduler.py
@@ -71,13 +71,14 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
instance2 = {'uuid': 'fake-uuid2'}
instance1_encoded = {'uuid': 'fake-uuid1', '_is_precooked': False}
instance2_encoded = {'uuid': 'fake-uuid2', '_is_precooked': False}
+ reservations = ['resv1', 'resv2']
# create_instance_db_entry() usually does this, but we're
# stubbing it.
- def _add_uuid1(ctxt, request_spec):
+ def _add_uuid1(ctxt, request_spec, reservations):
request_spec['instance_properties']['uuid'] = 'fake-uuid1'
- def _add_uuid2(ctxt, request_spec):
+ def _add_uuid2(ctxt, request_spec, reservations):
request_spec['instance_properties']['uuid'] = 'fake-uuid2'
self.mox.StubOutWithMock(ctxt, 'elevated')
@@ -92,8 +93,8 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.driver.hosts_up(ctxt_elevated, 'compute').AndReturn(
['host1', 'host2', 'host3', 'host4'])
random.random().AndReturn(.5)
- self.driver.create_instance_db_entry(ctxt,
- request_spec).WithSideEffects(_add_uuid1).AndReturn(
+ self.driver.create_instance_db_entry(ctxt, request_spec,
+ reservations).WithSideEffects(_add_uuid1).AndReturn(
instance1)
driver.cast_to_compute_host(ctxt, 'host3', 'run_instance',
instance_uuid=instance1['uuid'], **fake_kwargs)
@@ -103,8 +104,8 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.driver.hosts_up(ctxt_elevated, 'compute').AndReturn(
['host1', 'host2', 'host3', 'host4'])
random.random().AndReturn(.2)
- self.driver.create_instance_db_entry(ctxt,
- request_spec).WithSideEffects(_add_uuid2).AndReturn(
+ self.driver.create_instance_db_entry(ctxt, request_spec,
+ reservations).WithSideEffects(_add_uuid2).AndReturn(
instance2)
driver.cast_to_compute_host(ctxt, 'host1', 'run_instance',
instance_uuid=instance2['uuid'], **fake_kwargs)
@@ -112,7 +113,7 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.mox.ReplayAll()
result = self.driver.schedule_run_instance(ctxt, request_spec,
- *fake_args, **fake_kwargs)
+ reservations, *fake_args, **fake_kwargs)
expected = [instance1_encoded, instance2_encoded]
self.assertEqual(result, expected)
@@ -128,7 +129,7 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
# stubbing it.
def _add_uuid(num):
"""Return a function that adds the provided uuid number."""
- def _add_uuid_num(_, spec):
+ def _add_uuid_num(_, spec, reservations):
spec['instance_properties']['uuid'] = 'fake-uuid%d' % num
return _add_uuid_num
@@ -150,7 +151,7 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
# instance 1
self.driver._schedule(ctxt, 'compute', request_spec).AndReturn('host')
self.driver.create_instance_db_entry(
- ctxt, mox.Func(_has_launch_index(0))
+ ctxt, mox.Func(_has_launch_index(0)), None
).WithSideEffects(_add_uuid(1)).AndReturn(instance1)
driver.cast_to_compute_host(ctxt, 'host', 'run_instance',
instance_uuid=instance1['uuid'])
@@ -158,14 +159,14 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
# instance 2
self.driver._schedule(ctxt, 'compute', request_spec).AndReturn('host')
self.driver.create_instance_db_entry(
- ctxt, mox.Func(_has_launch_index(1))
+ ctxt, mox.Func(_has_launch_index(1)), None
).WithSideEffects(_add_uuid(2)).AndReturn(instance2)
driver.cast_to_compute_host(ctxt, 'host', 'run_instance',
instance_uuid=instance2['uuid'])
driver.encode_instance(instance2).AndReturn(instance2)
self.mox.ReplayAll()
- self.driver.schedule_run_instance(ctxt, request_spec)
+ self.driver.schedule_run_instance(ctxt, request_spec, None)
def test_basic_schedule_run_instance_no_hosts(self):
ctxt = context.RequestContext('fake', 'fake', False)
diff --git a/nova/tests/scheduler/test_filter_scheduler.py b/nova/tests/scheduler/test_filter_scheduler.py
index 0256f2aa3..168906bdf 100644
--- a/nova/tests/scheduler/test_filter_scheduler.py
+++ b/nova/tests/scheduler/test_filter_scheduler.py
@@ -51,7 +51,7 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
'ephemeral_gb': 0},
'instance_properties': {'project_id': 1}}
self.assertRaises(exception.NoValidHost, sched.schedule_run_instance,
- fake_context, request_spec)
+ fake_context, request_spec, None)
def test_run_instance_non_admin(self):
"""Test creating an instance locally using run_instance, passing
@@ -72,7 +72,7 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
request_spec = {'instance_type': {'memory_mb': 1, 'local_gb': 1},
'instance_properties': {'project_id': 1}}
self.assertRaises(exception.NoValidHost, sched.schedule_run_instance,
- fake_context, request_spec)
+ fake_context, request_spec, None)
self.assertTrue(self.was_admin)
def test_schedule_bad_topic(self):
@@ -117,14 +117,16 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
# instance 1
self.driver._provision_resource(
ctxt, 'host1',
- mox.Func(_has_launch_index(0)), fake_kwargs).AndReturn(instance1)
+ mox.Func(_has_launch_index(0)), None,
+ fake_kwargs).AndReturn(instance1)
# instance 2
self.driver._provision_resource(
ctxt, 'host2',
- mox.Func(_has_launch_index(1)), fake_kwargs).AndReturn(instance2)
+ mox.Func(_has_launch_index(1)), None,
+ fake_kwargs).AndReturn(instance2)
self.mox.ReplayAll()
- self.driver.schedule_run_instance(context_fake, request_spec,
+ self.driver.schedule_run_instance(context_fake, request_spec, None,
**fake_kwargs)
def test_schedule_happy_day(self):
diff --git a/nova/tests/scheduler/test_rpcapi.py b/nova/tests/scheduler/test_rpcapi.py
index 3f5a77fac..3617cecdf 100644
--- a/nova/tests/scheduler/test_rpcapi.py
+++ b/nova/tests/scheduler/test_rpcapi.py
@@ -68,14 +68,16 @@ class SchedulerRpcAPITestCase(test.TestCase):
topic='fake_topic', request_spec='fake_request_spec',
admin_password='pw', injected_files='fake_injected_files',
requested_networks='fake_requested_networks',
- is_first_time=True, filter_properties='fake_filter_properties')
+ is_first_time=True, filter_properties='fake_filter_properties',
+ reservations=None)
def test_run_instance_cast(self):
self._test_scheduler_api('run_instance', rpc_method='cast',
topic='fake_topic', request_spec='fake_request_spec',
admin_password='pw', injected_files='fake_injected_files',
requested_networks='fake_requested_networks',
- is_first_time=True, filter_properties='fake_filter_properties')
+ is_first_time=True, filter_properties='fake_filter_properties',
+ reservations=None)
def test_prep_resize(self):
self._test_scheduler_api('prep_resize', rpc_method='cast',
diff --git a/nova/tests/scheduler/test_scheduler.py b/nova/tests/scheduler/test_scheduler.py
index a662d6930..23b553d64 100644
--- a/nova/tests/scheduler/test_scheduler.py
+++ b/nova/tests/scheduler/test_scheduler.py
@@ -389,10 +389,10 @@ class SchedulerTestCase(test.TestCase):
self.driver.compute_api.create_db_entry_for_new_instance(
self.context, instance_type, image, base_options,
security_group,
- block_device_mapping).AndReturn(fake_instance)
+ block_device_mapping, None).AndReturn(fake_instance)
self.mox.ReplayAll()
instance = self.driver.create_instance_db_entry(self.context,
- request_spec)
+ request_spec, None)
self.mox.VerifyAll()
self.assertEqual(instance, fake_instance)
@@ -407,7 +407,7 @@ class SchedulerTestCase(test.TestCase):
self.mox.ReplayAll()
instance = self.driver.create_instance_db_entry(self.context,
- request_spec)
+ request_spec, None)
self.assertEqual(instance, fake_instance)
def _live_migration_instance(self):