diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-05-21 22:02:34 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-05-21 22:02:34 +0000 |
| commit | 288a93fd1dcc720e6d7da750b95da01b9e909a31 (patch) | |
| tree | 64cd47f0250bf307ed6724ad56065db4e1ff637e /nova | |
| parent | 7f497673082111eadd47b292206ca545820e9b00 (diff) | |
| parent | 400154ee24d4053473bdd2e804f9e54bbdffba73 (diff) | |
Merge "Adding tests for rebuild image checks"
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/tests/compute/test_compute.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index fe16182bf..9871c5943 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -5561,6 +5561,87 @@ class ComputeAPITestCase(BaseTestCase): self.compute_api.rebuild(self.context, instance, self.fake_image['id'], 'new_password') + def test_rebuild_with_too_little_ram(self): + instance = jsonutils.to_primitive( + self._create_fake_instance(params={'image_ref': '1'})) + + def fake_extract_instance_type(_inst): + return dict(memory_mb=64, root_gb=1) + + self.stubs.Set(flavors, 'extract_instance_type', + fake_extract_instance_type) + + self.fake_image['min_ram'] = 128 + self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show) + + self.assertRaises(exception.InstanceTypeMemoryTooSmall, + self.compute_api.rebuild, self.context, + instance, self.fake_image['id'], 'new_password') + + # Reduce image memory requirements and make sure it works + self.fake_image['min_ram'] = 64 + + self.compute_api.rebuild(self.context, + instance, self.fake_image['id'], 'new_password') + db.instance_destroy(self.context, instance['uuid']) + + def test_rebuild_with_too_little_disk(self): + instance = jsonutils.to_primitive( + self._create_fake_instance(params={'image_ref': '1'})) + + def fake_extract_instance_type(_inst): + return dict(memory_mb=64, root_gb=1) + + self.stubs.Set(flavors, 'extract_instance_type', + fake_extract_instance_type) + + self.fake_image['min_disk'] = 2 + self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show) + + self.assertRaises(exception.InstanceTypeDiskTooSmall, + self.compute_api.rebuild, self.context, + instance, self.fake_image['id'], 'new_password') + + # Reduce image disk requirements and make sure it works + self.fake_image['min_disk'] = 1 + + self.compute_api.rebuild(self.context, + instance, self.fake_image['id'], 'new_password') + db.instance_destroy(self.context, instance['uuid']) + + def test_rebuild_with_just_enough_ram_and_disk(self): + instance = jsonutils.to_primitive( + self._create_fake_instance(params={'image_ref': '1'})) + + def fake_extract_instance_type(_inst): + return dict(memory_mb=64, root_gb=1) + + self.stubs.Set(flavors, 'extract_instance_type', + fake_extract_instance_type) + + self.fake_image['min_ram'] = 64 + self.fake_image['min_disk'] = 1 + self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show) + + self.compute_api.rebuild(self.context, + instance, self.fake_image['id'], 'new_password') + db.instance_destroy(self.context, instance['uuid']) + + def test_rebuild_with_no_ram_and_disk_reqs(self): + instance = jsonutils.to_primitive( + self._create_fake_instance(params={'image_ref': '1'})) + + def fake_extract_instance_type(_inst): + return dict(memory_mb=64, root_gb=1) + + self.stubs.Set(flavors, 'extract_instance_type', + fake_extract_instance_type) + self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show) + + self.compute_api.rebuild(self.context, + instance, self.fake_image['id'], 'new_password') + db.instance_destroy(self.context, instance['uuid']) + def _stub_out_reboot(self, device_name): def fake_reboot_instance(rpcapi, context, instance, block_device_info, |
