summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnmesh Gurjar <unmesh.gurjar@nttdata.com>2012-11-06 06:36:02 -0800
committerUnmesh Gurjar <unmesh.gurjar@nttdata.com>2012-11-06 06:36:02 -0800
commitf8355beb06011eeaa86b4e99b4668d03c80bf9df (patch)
tree96ed020bab3e4ea3f50c8f0e87a3865efc97c2c8
parent319233bf1be354abb20f555a4b62f67173438930 (diff)
downloadnova-f8355beb06011eeaa86b4e99b4668d03c80bf9df.tar.gz
nova-f8355beb06011eeaa86b4e99b4668d03c80bf9df.tar.xz
nova-f8355beb06011eeaa86b4e99b4668d03c80bf9df.zip
Fixes snapshot instance failure on libvirt.
Fixed the failure during snapshotting instance (on libvirt) due to incorrect attribute access. Fixes LP: #1075556 Change-Id: I079467d38aef5071488084f9bfa080a2a5af2609
-rw-r--r--nova/tests/test_libvirt_utils.py38
-rw-r--r--nova/virt/libvirt/utils.py2
2 files changed, 39 insertions, 1 deletions
diff --git a/nova/tests/test_libvirt_utils.py b/nova/tests/test_libvirt_utils.py
new file mode 100644
index 000000000..89410390b
--- /dev/null
+++ b/nova/tests/test_libvirt_utils.py
@@ -0,0 +1,38 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+#
+# Copyright 2012 NTT Data
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova import test
+from nova import utils
+from nova.virt.libvirt import utils as libvirt_utils
+
+
+class LibvirtUtilsTestCase(test.TestCase):
+ def test_get_disk_type(self):
+ path = "disk.config"
+ example_output = """image: disk.config
+file format: raw
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+disk size: 96K
+blah BLAH: bb
+"""
+ self.mox.StubOutWithMock(utils, 'execute')
+ utils.execute('env', 'LC_ALL=C', 'LANG=C',
+ 'qemu-img', 'info', path).AndReturn((example_output, ''))
+ self.mox.ReplayAll()
+ disk_type = libvirt_utils.get_disk_type(path)
+ self.assertEqual(disk_type, 'raw')
diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
index 5da0aa6fb..ea8786fc0 100644
--- a/nova/virt/libvirt/utils.py
+++ b/nova/virt/libvirt/utils.py
@@ -414,7 +414,7 @@ def get_disk_type(path):
if path.startswith('/dev'):
return 'lvm'
- return images.qemu_img_info(path)['file format']
+ return images.qemu_img_info(path).file_format
def get_fs_info(path):