diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-11-11 11:37:03 -0800 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-11-16 12:26:07 -0800 |
| commit | b6644ffe4360a9d55e138e20e0d453e8ffb2c718 (patch) | |
| tree | 9949e8a17700f98fbd20125d67e8e34684dca51e /nova/tests | |
| parent | 57ad4de6487f625a9e39b17ba612b6f1b43e937c (diff) | |
Make run instances respect availability zone
* includes test
* fixes bug 888918
Change-Id: I40985e9dcc153fae53675f3da5e2d5b5763cfca3
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/api/ec2/test_cloud.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py index 8aef1bd2f..45f15706c 100644 --- a/nova/tests/api/ec2/test_cloud.py +++ b/nova/tests/api/ec2/test_cloud.py @@ -1226,6 +1226,41 @@ class CloudTestCase(test.TestCase): self.assertEqual(instance['instanceState']['name'], 'running') self.assertEqual(instance['instanceType'], 'm1.small') + def test_run_instances_availability_zone(self): + kwargs = {'image_id': 'ami-00000001', + 'instance_type': FLAGS.default_instance_type, + 'max_count': 1, + 'placement': {'availability_zone': 'fake'}, + } + run_instances = self.cloud.run_instances + + def fake_show(self, context, id): + return {'id': 'cedef40a-ed67-4d10-800e-17455edce175', + 'properties': { + 'kernel_id': 'cedef40a-ed67-4d10-800e-17455edce175', + 'type': 'machine'}, + 'container_format': 'ami', + 'status': 'active'} + + self.stubs.Set(fake._FakeImageService, 'show', fake_show) + # NOTE(comstud): Make 'cast' behave like a 'call' which will + # ensure that operations complete + self.stubs.Set(rpc, 'cast', rpc.call) + + def fake_format(*args, **kwargs): + pass + + self.stubs.Set(self.cloud, '_format_run_instances', fake_format) + + def fake_create(*args, **kwargs): + self.assertEqual(kwargs['availability_zone'], 'fake') + return ({'id': 'fake-instance'}, 'fake-res-id') + + self.stubs.Set(self.cloud.compute_api, 'create', fake_create) + + # NOTE(vish) the assert for this call is in the fake_create method. + run_instances(self.context, **kwargs) + def test_run_instances_image_state_none(self): kwargs = {'image_id': 'ami-00000001', 'instance_type': FLAGS.default_instance_type, |
