diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-01-21 22:57:37 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-01-21 22:57:37 +0000 |
| commit | 5ac99deadc12876a532ba66b0a3a33ddb702feb9 (patch) | |
| tree | 4962f7c7380e1d6c2820e8f12f52dcc6dae0ebfc | |
| parent | fce9219eedf678b3f1bddc624c3233c105331b64 (diff) | |
| parent | 2af896ceccc6fa947bbdb8b06442439db1c6dc1f (diff) | |
| download | nova-5ac99deadc12876a532ba66b0a3a33ddb702feb9.tar.gz nova-5ac99deadc12876a532ba66b0a3a33ddb702feb9.tar.xz nova-5ac99deadc12876a532ba66b0a3a33ddb702feb9.zip | |
Merge "PXE driver should not accept empty kernel UUID."
| -rw-r--r-- | nova/tests/baremetal/test_pxe.py | 18 | ||||
| -rw-r--r-- | nova/virt/baremetal/pxe.py | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/nova/tests/baremetal/test_pxe.py b/nova/tests/baremetal/test_pxe.py index ad4975849..73ef8caa3 100644 --- a/nova/tests/baremetal/test_pxe.py +++ b/nova/tests/baremetal/test_pxe.py @@ -248,6 +248,13 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase): pxe.get_tftp_image_info, self.instance) + # Test that other non-true values also raise an exception + CONF.baremetal.deploy_kernel = "" + CONF.baremetal.deploy_ramdisk = "" + self.assertRaises(exception.NovaException, + pxe.get_tftp_image_info, + self.instance) + # Even if the instance includes kernel_id and ramdisk_id, # we still need deploy_kernel_id and deploy_ramdisk_id. # If those aren't present in instance[], and not specified in @@ -289,6 +296,17 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase): self.assertEqual(res['deploy_kernel'][0], 'eeee') self.assertEqual(res['deploy_ramdisk'][0], 'ffff') + # However, if invalid values are passed on the image extra_specs, + # this should still raise an exception. + extra_specs = { + 'deploy_kernel_id': '', + 'deploy_ramdisk_id': '', + } + self.instance['extra_specs'] = extra_specs + self.assertRaises(exception.NovaException, + pxe.get_tftp_image_info, + self.instance) + class PXEPrivateMethodsTestCase(BareMetalPXETestCase): diff --git a/nova/virt/baremetal/pxe.py b/nova/virt/baremetal/pxe.py index 47bfc55af..0daac1d46 100644 --- a/nova/virt/baremetal/pxe.py +++ b/nova/virt/baremetal/pxe.py @@ -218,7 +218,7 @@ def get_tftp_image_info(instance): missing_labels = [] for label in image_info.keys(): (uuid, path) = image_info[label] - if uuid is None: + if not uuid: missing_labels.append(label) else: image_info[label][1] = os.path.join(CONF.baremetal.tftp_root, |
