summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/tests/test_virt_disk_vfs_guestfs.py27
-rw-r--r--nova/virt/disk/vfs/guestfs.py6
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])