diff options
-rw-r--r-- | nova/tests/test_virt_disk_vfs_guestfs.py | 27 | ||||
-rw-r--r-- | nova/virt/disk/vfs/guestfs.py | 6 |
2 files changed, 30 insertions, 3 deletions
diff --git a/nova/tests/test_virt_disk_vfs_guestfs.py b/nova/tests/test_virt_disk_vfs_guestfs.py index 1ff2581e7..16c85f815 100644 --- a/nova/tests/test_virt_disk_vfs_guestfs.py +++ b/nova/tests/test_virt_disk_vfs_guestfs.py @@ -16,6 +16,7 @@ import sys +from nova import exception from nova import test from nova.tests import fakeguestfs @@ -51,6 +52,32 @@ class VirtDiskVFSGuestFSTest(test.TestCase): self.assertEqual(handle.closed, True) self.assertEqual(len(handle.mounts), 0) + def test_appliance_setup_inspect_no_root_raises(self): + vfs = vfsimpl.VFSGuestFS(imgfile="/dummy.qcow2", + imgfmt="qcow2", + partition=-1) + # call setup to init the handle so we can stub it + vfs.setup() + + def fake_inspect_os(): + return [] + + self.stubs.Set(vfs.handle, 'inspect_os', fake_inspect_os) + self.assertRaises(exception.NovaException, vfs.setup_os_inspect) + + def test_appliance_setup_inspect_multi_boots_raises(self): + vfs = vfsimpl.VFSGuestFS(imgfile="/dummy.qcow2", + imgfmt="qcow2", + partition=-1) + # call setup to init the handle so we can stub it + vfs.setup() + + def fake_inspect_os(): + return ['fake1', 'fake2'] + + self.stubs.Set(vfs.handle, 'inspect_os', fake_inspect_os) + self.assertRaises(exception.NovaException, vfs.setup_os_inspect) + def test_appliance_setup_static_nopart(self): vfs = vfsimpl.VFSGuestFS(imgfile="/dummy.qcow2", imgfmt="qcow2", diff --git a/nova/virt/disk/vfs/guestfs.py b/nova/virt/disk/vfs/guestfs.py index 985858a0d..5be2b0d37 100644 --- a/nova/virt/disk/vfs/guestfs.py +++ b/nova/virt/disk/vfs/guestfs.py @@ -65,13 +65,13 @@ class VFSGuestFS(vfs.VFS): roots = self.handle.inspect_os() if len(roots) == 0: - raise exception.NovaException(_("No operating system found in %s"), - self.imgfile) + raise exception.NovaException(_("No operating system found in %s") + % self.imgfile) if len(roots) != 1: LOG.debug(_("Multi-boot OS %(roots)s") % {'roots': str(roots)}) raise exception.NovaException( - _("Multi-boot operating system found in %s"), + _("Multi-boot operating system found in %s") % self.imgfile) self.setup_os_root(roots[0]) |