summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2012-08-03 15:15:52 -0400
committerRussell Bryant <rbryant@redhat.com>2012-08-06 15:09:33 -0400
commitc9f15e3a51658c6b406521d87a95e94f25edf977 (patch)
tree2982ac072d763d8bae6dc3e3288e866489d59e4d /nova/tests
parent7dc9d462a8dd65605fb987949b503ff0d23fe288 (diff)
downloadnova-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.py29
-rw-r--r--nova/tests/scheduler/test_filter_scheduler.py14
-rw-r--r--nova/tests/scheduler/test_scheduler.py13
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)