diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-05-29 23:25:17 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-05-29 23:25:17 +0000 |
| commit | 013bff3d66793ebf340a21bb7b450d7aa384dada (patch) | |
| tree | 9f1e40c987990b3a0db5688690ccdfde963cd5fd | |
| parent | 84f2a0438e34258c82f6e99cc2d5bb757bbde7da (diff) | |
| parent | 4f44cd9129f094d88dfddfa5885c453590ac847c (diff) | |
Merge "Fix config drive code logical error."
| -rw-r--r-- | nova/compute/api.py | 10 | ||||
| -rw-r--r-- | nova/tests/compute/test_compute.py | 16 |
2 files changed, 7 insertions, 19 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 378269a04..7d0862b47 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -479,19 +479,15 @@ class API(base.Base): return instance def _check_config_drive(self, context, config_drive): - bool_like = True try: - strutils.bool_from_string(config_drive, strict=True) + bool_like = strutils.bool_from_string(config_drive, strict=True) except ValueError: bool_like = False if config_drive is None: return None, None - elif bool_like and config_drive not in (0, 1, '0', '1'): - # NOTE(sirp): '0' and '1' could be a bool value or an ID. Since - # there are many other ways to specify bools (e.g. 't', 'f'), it's - # better to treat as an ID. - return None, config_drive + elif bool_like: + return None, bool_like else: cd_image_service, config_drive_id = \ glance.get_remote_image_service(context, config_drive) diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py index 71c278a68..64edb4811 100644 --- a/nova/tests/compute/test_compute.py +++ b/nova/tests/compute/test_compute.py @@ -8958,21 +8958,13 @@ class CheckConfigDriveTestCase(test.TestCase): self.assertCheck((None, None), None) self.assertFalse(self.called['show']) - def test_value_is_bool_like_string(self): - self.assertCheck((None, 'True'), 'True') - self.assertCheck((None, 'yes'), 'yes') - def test_bool_string_or_id(self): - # NOTE(sirp): '0' and '1' could be a bool value or an ID. Since there - # are many other ways to specify bools (e.g. 't', 'f'), it's better to - # treat as an ID. - self.assertCheck((0, None), 0) - self.assertCheck((1, None), 1) - self.assertCheck(('0', None), '0') - self.assertCheck(('1', None), '1') + self.assertCheck((None, True), "true") + self.assertCheck((None, True), 1) + self.assertCheck((None, True), 't') def test_value_is_image_id(self): - self.assertCheck((2, None), 2) + self.assertCheck(("fake-uuid", None), "fake-uuid") class CheckRequestedImageTestCase(test.TestCase): |
