diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-08-17 20:14:21 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-08-17 20:14:21 +0000 |
| commit | a10be151ad9f62bb916498c8dae42e4b54dfc779 (patch) | |
| tree | de1286ba1bf5cc8e6f33a0049fd9addf74ffa190 | |
| parent | c5a0f0314818b63bdf2d5acb1c9407adab64ae6f (diff) | |
| parent | fa16d173938b30af4e1cc6b312a75b12aff6c424 (diff) | |
| download | nova-a10be151ad9f62bb916498c8dae42e4b54dfc779.tar.gz nova-a10be151ad9f62bb916498c8dae42e4b54dfc779.tar.xz nova-a10be151ad9f62bb916498c8dae42e4b54dfc779.zip | |
Merge "Fix get_vnc_console race."
| -rw-r--r-- | nova/compute/api.py | 3 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index e7f9368ea..ebf67729d 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1627,6 +1627,9 @@ class API(base.Base): @wrap_check_policy def get_vnc_console(self, context, instance, console_type): """Get a url to an instance Console.""" + if not instance['host']: + raise exception.InstanceNotReady(instance=instance) + connect_info = self.compute_rpcapi.get_vnc_console(context, instance=instance, console_type=console_type) diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index b6ce0afe2..b6d775bd2 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -3899,6 +3899,15 @@ class ComputeAPITestCase(BaseTestCase): fake_instance, fake_console_type) self.assertEqual(console, {'url': 'fake_console_url'}) + def test_get_vnc_console_no_host(self): + instance = self._create_fake_instance(params={'host': ''}) + + self.assertRaises(exception.InstanceNotReady, + self.compute_api.get_vnc_console, + self.context, instance, 'novnc') + + db.instance_destroy(self.context, instance['uuid']) + def test_console_output(self): fake_instance = {'uuid': 'fake_uuid', 'host': 'fake_compute_host'} |
