diff options
author | Russell Bryant <rbryant@redhat.com> | 2012-08-03 15:15:52 -0400 |
---|---|---|
committer | Russell Bryant <rbryant@redhat.com> | 2012-08-06 15:09:33 -0400 |
commit | c9f15e3a51658c6b406521d87a95e94f25edf977 (patch) | |
tree | 2982ac072d763d8bae6dc3e3288e866489d59e4d /nova/tests | |
parent | 7dc9d462a8dd65605fb987949b503ff0d23fe288 (diff) | |
download | nova-c9f15e3a51658c6b406521d87a95e94f25edf977.tar.gz nova-c9f15e3a51658c6b406521d87a95e94f25edf977.tar.xz nova-c9f15e3a51658c6b406521d87a95e94f25edf977.zip |
Use explicit args in run_instance scheduler code.
This patch goes through code paths related to run_instance in the
scheduler to use explicit arguments instead of **kwargs. I'm trying to
work out exactly what data is getting passed through the system when an
instance is created, so that I can make the no-db-messaging related
changes. This patch helps clarify some things.
Part of blueprint no-db-messaging.
Change-Id: Id83fc1e399e1d5c75af6dd3c8972b8ba9d706af1
Diffstat (limited to 'nova/tests')
-rw-r--r-- | nova/tests/scheduler/test_chance_scheduler.py | 29 | ||||
-rw-r--r-- | nova/tests/scheduler/test_filter_scheduler.py | 14 | ||||
-rw-r--r-- | nova/tests/scheduler/test_scheduler.py | 13 |
3 files changed, 34 insertions, 22 deletions
diff --git a/nova/tests/scheduler/test_chance_scheduler.py b/nova/tests/scheduler/test_chance_scheduler.py index eabfa93dc..0a27375df 100644 --- a/nova/tests/scheduler/test_chance_scheduler.py +++ b/nova/tests/scheduler/test_chance_scheduler.py @@ -97,7 +97,10 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase): reservations).WithSideEffects(_add_uuid1).AndReturn( instance1) driver.cast_to_compute_host(ctxt, 'host3', 'run_instance', - instance_uuid=instance1['uuid'], **fake_kwargs) + instance_uuid=instance1['uuid'], requested_networks=None, + injected_files=None, admin_password=None, is_first_time=None, + request_spec=request_spec, filter_properties={}) + driver.encode_instance(instance1).AndReturn(instance1_encoded) # instance 2 ctxt.elevated().AndReturn(ctxt_elevated) @@ -108,12 +111,15 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase): reservations).WithSideEffects(_add_uuid2).AndReturn( instance2) driver.cast_to_compute_host(ctxt, 'host1', 'run_instance', - instance_uuid=instance2['uuid'], **fake_kwargs) + instance_uuid=instance2['uuid'], requested_networks=None, + injected_files=None, admin_password=None, is_first_time=None, + request_spec=request_spec, filter_properties={}) + driver.encode_instance(instance2).AndReturn(instance2_encoded) self.mox.ReplayAll() - result = self.driver.schedule_run_instance(ctxt, request_spec, - reservations, *fake_args, **fake_kwargs) + result = self.driver.schedule_run_instance(ctxt, None, request_spec, + None, None, None, None, {}, reservations) expected = [instance1_encoded, instance2_encoded] self.assertEqual(result, expected) @@ -155,7 +161,9 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase): 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']) + instance_uuid=instance1['uuid'], requested_networks=None, + injected_files=None, admin_password=None, is_first_time=None, + request_spec=request_spec, filter_properties={}) driver.encode_instance(instance1).AndReturn(instance1) # instance 2 self.driver._schedule(ctxt, 'compute', request_spec, @@ -164,11 +172,14 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase): 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']) + instance_uuid=instance2['uuid'], requested_networks=None, + injected_files=None, admin_password=None, is_first_time=None, + request_spec=request_spec, filter_properties={}) driver.encode_instance(instance2).AndReturn(instance2) self.mox.ReplayAll() - self.driver.schedule_run_instance(ctxt, request_spec, None) + self.driver.schedule_run_instance(ctxt, '', request_spec, None, None, + None, None, {}, None) def test_basic_schedule_run_instance_no_hosts(self): ctxt = context.RequestContext('fake', 'fake', False) @@ -189,8 +200,8 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase): self.mox.ReplayAll() self.assertRaises(exception.NoValidHost, - self.driver.schedule_run_instance, ctxt, request_spec, - *fake_args, **fake_kwargs) + self.driver.schedule_run_instance, ctxt, '', request_spec, + None, None, None, None, {}, None) def test_basic_schedule_fallback(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 648373945..4de0bb645 100644 --- a/nova/tests/scheduler/test_filter_scheduler.py +++ b/nova/tests/scheduler/test_filter_scheduler.py @@ -50,7 +50,8 @@ 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, None) + fake_context, '', request_spec, None, None, None, + None, {}, None) def test_run_instance_non_admin(self): """Test creating an instance locally using run_instance, passing @@ -71,7 +72,8 @@ 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, None) + fake_context, '', request_spec, None, None, None, + None, {}, None) self.assertTrue(self.was_admin) def test_schedule_bad_topic(self): @@ -117,16 +119,16 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase): self.driver._provision_resource( ctxt, 'host1', mox.Func(_has_launch_index(0)), None, - {}, fake_kwargs).AndReturn(instance1) + {}, None, None, None, None).AndReturn(instance1) # instance 2 self.driver._provision_resource( ctxt, 'host2', mox.Func(_has_launch_index(1)), None, - {}, fake_kwargs).AndReturn(instance2) + {}, None, None, None, None).AndReturn(instance2) self.mox.ReplayAll() - self.driver.schedule_run_instance(context_fake, request_spec, None, - **fake_kwargs) + self.driver.schedule_run_instance(context_fake, '', request_spec, + None, None, None, None, {}, None) def test_schedule_happy_day(self): """Make sure there's nothing glaringly wrong with _schedule() diff --git a/nova/tests/scheduler/test_scheduler.py b/nova/tests/scheduler/test_scheduler.py index c4f30ed74..baf6b3f64 100644 --- a/nova/tests/scheduler/test_scheduler.py +++ b/nova/tests/scheduler/test_scheduler.py @@ -220,17 +220,16 @@ class SchedulerManagerTestCase(test.TestCase): request_spec = {'instance_properties': {'uuid': fake_instance_uuid}} - self.fake_kwargs['request_spec'] = request_spec - self.manager.driver.schedule_run_instance(self.context, - *self.fake_args, **self.fake_kwargs).AndRaise( + self.manager.driver.schedule_run_instance(self.context, self.topic, + request_spec, None, None, None, None, {}, None).AndRaise( exception.NoValidHost(reason="")) db.instance_update_and_get_original(self.context, fake_instance_uuid, {"vm_state": vm_states.ERROR}).AndReturn((inst, inst)) self.mox.ReplayAll() - self.manager.run_instance(self.context, self.topic, - *self.fake_args, **self.fake_kwargs) + self.manager.run_instance(self.context, self.topic, request_spec, + None, None, None, None, {}, None) def test_prep_resize_no_valid_host_back_in_active_state(self): """Test that a NoValidHost exception for prep_resize puts @@ -772,8 +771,8 @@ class SchedulerDriverBaseTestCase(SchedulerTestCase): self.assertRaises(NotImplementedError, self.driver.schedule_run_instance, - self.context, fake_request_spec, - *fake_args, **fake_kwargs) + self.context, '', fake_request_spec, None, None, None, + None, None, None) def test_unimplemented_schedule_prep_resize(self): fake_args = (1, 2, 3) |