diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2013-05-31 23:13:23 +0000 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2013-06-26 21:04:07 +0000 |
| commit | b013d80ff7ffa75a823f246445a07cb6970d321e (patch) | |
| tree | d803c56441ede5284830404e77da35020c77240b /nova/tests | |
| parent | d62e708889498cd22e633d99c40655be82b97c9a (diff) | |
| download | nova-b013d80ff7ffa75a823f246445a07cb6970d321e.tar.gz nova-b013d80ff7ffa75a823f246445a07cb6970d321e.tar.xz nova-b013d80ff7ffa75a823f246445a07cb6970d321e.zip | |
Remove broken config_drive image_href support.
image_href support has not been working since at least shortly before
Folsom release. This is a good indication that this functionality is not
used. As far as I can tell, the docs also do not match what was
supported. An image ID was required, but docs show examples with full
hrefs.
DocImpact
http://docs.openstack.org/developer/nova/api_ext/ext_config_drive.html
References to supporting image_hrefs should be removed.
This patch also removes the hack that passed a config_drive_id via
the Instance dictionary when config_drive_id is not a valid Column for
Instance.
Fixes bug 1186401
Change-Id: Iced7bc8e278cb9f208183f1dbb7a293675a47eae
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/api/openstack/compute/test_servers.py | 31 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 57 | ||||
| -rw-r--r-- | nova/tests/integrated/test_api_samples.py | 10 | ||||
| -rw-r--r-- | nova/tests/virt/libvirt/test_libvirt.py | 7 |
4 files changed, 33 insertions, 72 deletions
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py index 8eebec613..82bb6b868 100644 --- a/nova/tests/api/openstack/compute/test_servers.py +++ b/nova/tests/api/openstack/compute/test_servers.py @@ -3253,34 +3253,8 @@ class ServersControllerCreateTest(test.TestCase): server = res['server'] self.assertEqual(FAKE_UUID, server['id']) - def test_create_instance_with_config_drive_as_id(self): - self.ext_mgr.extensions = {'os-config-drive': 'fake'} - image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v2/fake/flavors/3' - body = { - 'server': { - 'name': 'config_drive_test', - 'imageRef': image_href, - 'flavorRef': flavor_ref, - 'metadata': { - 'hello': 'world', - 'open': 'stack', - }, - 'personality': {}, - 'config_drive': image_href, - }, - } - - req = fakes.HTTPRequest.blank('/fake/servers') - req.method = 'POST' - req.body = jsonutils.dumps(body) - req.headers["content-type"] = "application/json" - res = self.controller.create(req, body).obj - - server = res['server'] - self.assertEqual(FAKE_UUID, server['id']) - def test_create_instance_with_bad_config_drive(self): + # Test with an image href as config drive value. self.ext_mgr.extensions = {'os-config-drive': 'fake'} image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' flavor_ref = 'http://localhost/v2/fake/flavors/3' @@ -3294,7 +3268,7 @@ class ServersControllerCreateTest(test.TestCase): 'open': 'stack', }, 'personality': {}, - 'config_drive': 'asdf', + 'config_drive': image_href, }, } @@ -3302,7 +3276,6 @@ class ServersControllerCreateTest(test.TestCase): req.method = 'POST' req.body = jsonutils.dumps(body) req.headers["content-type"] = "application/json" - self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, body) diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index e2783641c..00469ae30 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -9592,42 +9592,31 @@ class CheckConfigDriveTestCase(test.TestCase): def setUp(self): super(CheckConfigDriveTestCase, self).setUp() self.compute_api = compute.API() - self.context = context.RequestContext( - 'fake_user_id', 'fake_project_id') - - self.called = called = {'show': False} - - def fake_get_remote_image_service(context, image_id): - class FakeGlance(object): - def show(self, context, image_id): - called['show'] = True - - return FakeGlance(), image_id - - self.stubs.Set(glance, 'get_remote_image_service', - fake_get_remote_image_service) - def tearDown(self): - self.stubs.UnsetAll() - super(CheckConfigDriveTestCase, self).tearDown() - - def assertCheck(self, expected, config_drive): + def _assertCheck(self, expected, config_drive): self.assertEqual(expected, - self.compute_api._check_config_drive( - self.context, config_drive)) - - def test_value_is_none(self): - self.assertFalse(self.called['show']) - self.assertCheck((None, None), None) - self.assertFalse(self.called['show']) - - def test_bool_string_or_id(self): - self.assertCheck((None, True), "true") - self.assertCheck((None, True), 1) - self.assertCheck((None, True), 't') - - def test_value_is_image_id(self): - self.assertCheck(("fake-uuid", None), "fake-uuid") + self.compute_api._check_config_drive(config_drive)) + + def _assertInvalid(self, config_drive): + self.assertRaises(exception.ConfigDriveInvalidValue, + self.compute_api._check_config_drive, + config_drive) + + def test_config_drive_false_values(self): + self._assertCheck('', None) + self._assertCheck('', '') + self._assertCheck('', 'False') + self._assertCheck('', 'f') + self._assertCheck('', '0') + + def test_config_drive_true_values(self): + self._assertCheck(True, 'True') + self._assertCheck(True, 't') + self._assertCheck(True, '1') + + def test_config_drive_bogus_values_raise(self): + self._assertInvalid('asd') + self._assertInvalid(uuidutils.generate_uuid()) class CheckRequestedImageTestCase(test.TestCase): diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index 380b69079..fb7e197cc 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -3412,18 +3412,18 @@ class ConfigDriveSampleJsonTest(ServersSampleBase): response = self._do_get('servers/%s' % uuid) subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' - # config drive can be an uuid or empty value - subs['cdrive'] = '(%s)?' % subs['uuid'] + # config drive can be a string for True or empty value for False + subs['cdrive'] = '.*' self._verify_response('server-config-drive-get-resp', subs, response, 200) def test_config_drive_detail(self): - uuid = self._post_server() + self._post_server() response = self._do_get('servers/detail') subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' - # config drive can be an uuid or empty value - subs['cdrive'] = '(%s)?' % subs['uuid'] + # config drive can be a string for True or empty value for False + subs['cdrive'] = '.*' self._verify_response('servers-config-drive-details-resp', subs, response, 200) diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py index 3c658a7f5..d3b842c0b 100644 --- a/nova/tests/virt/libvirt/test_libvirt.py +++ b/nova/tests/virt/libvirt/test_libvirt.py @@ -589,8 +589,8 @@ class LibvirtConnTestCase(test.TestCase): conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) instance_ref = db.instance_create(self.context, self.test_instance) - # make configdrive.enabled_for() return True - instance_ref['config_drive'] = 'ANY_ID' + # make configdrive.required_by() return True + instance_ref['config_drive'] = True disk_info = blockinfo.get_disk_info(CONF.libvirt_type, instance_ref) @@ -4945,10 +4945,9 @@ class LibvirtDriverTestCase(test.TestCase): inst['host'] = 'host1' inst['root_gb'] = 10 inst['ephemeral_gb'] = 20 - inst['config_drive'] = 1 + inst['config_drive'] = True inst['kernel_id'] = 2 inst['ramdisk_id'] = 3 - inst['config_drive_id'] = 1 inst['key_data'] = 'ABCDEFG' inst['system_metadata'] = sys_meta |
