diff --git a/sushy_tools/emulator/resources/systems/novadriver.py b/sushy_tools/emulator/resources/systems/novadriver.py index 7a6636ca..a9c64a6b 100644 --- a/sushy_tools/emulator/resources/systems/novadriver.py +++ b/sushy_tools/emulator/resources/systems/novadriver.py @@ -85,6 +85,8 @@ class OpenStackDriver(AbstractSystemsDriver): @memoize.memoize(permanent_cache=PERMANENT_CACHE) def _get_image_info(self, identity): + if not identity: + return return self._cc.image.find_image(identity) def _get_server_metadata(self, identity): diff --git a/sushy_tools/tests/unit/emulator/resources/systems/test_nova.py b/sushy_tools/tests/unit/emulator/resources/systems/test_nova.py index e454a27e..e6aa7ba1 100644 --- a/sushy_tools/tests/unit/emulator/resources/systems/test_nova.py +++ b/sushy_tools/tests/unit/emulator/resources/systems/test_nova.py @@ -155,6 +155,16 @@ class NovaDriverTestCase(base.BaseTestCase): self.assertEqual('Legacy', boot_mode) + def test_get_boot_mode_no_image(self): + server = mock.Mock(id=self.uuid, image=dict(id=self.uuid)) + self.nova_mock.return_value.get_server.return_value = server + + self.nova_mock.return_value.image.find_image.return_value = None + + boot_mode = self.test_driver.get_boot_mode(self.uuid) + + self.assertIsNone(boot_mode) + def test_set_boot_mode(self): self.assertRaises( error.FishyError, self.test_driver.set_boot_mode,