summaryrefslogtreecommitdiff
path: root/nova/virt/images.py
diff options
context:
space:
mode:
authorLee Yarwood <lyarwood@redhat.com>2020-02-10 14:09:10 +0000
committerLee Yarwood <lyarwood@redhat.com>2020-03-16 09:45:31 +0000
commit28f3e0070a214f750ecad8bd8001ccb5c5c27fd4 (patch)
tree8420462eeb7040240b742b03c72035ef4df00b01 /nova/virt/images.py
parent03d6eb500f85a417f84a7bf4a9f4ceb275c9a67e (diff)
downloadnova-28f3e0070a214f750ecad8bd8001ccb5c5c27fd4.tar.gz
images: Allow the output format of qemu-img info to be controlled
This will allow for the use of the JSON output format that is easier to parse within QemuImgInfo and should allow additional information to be extracted from qemu-img calls in the future. Change-Id: I0b6d1a98726ffa1ebc78fb3c4563a2e4b40ddeff
Diffstat (limited to 'nova/virt/images.py')
-rw-r--r--nova/virt/images.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/nova/virt/images.py b/nova/virt/images.py
index 7d13dc46d2..f4f0da623d 100644
--- a/nova/virt/images.py
+++ b/nova/virt/images.py
@@ -43,7 +43,7 @@ CONF = nova.conf.CONF
IMAGE_API = glance.API()
-def qemu_img_info(path, format=None):
+def qemu_img_info(path, format=None, output_format=None):
"""Return an object containing the parsed output from qemu-img info."""
# TODO(mikal): this code should not be referring to a libvirt specific
# flag.
@@ -51,8 +51,12 @@ def qemu_img_info(path, format=None):
raise exception.DiskNotFound(location=path)
info = nova.privsep.qemu.unprivileged_qemu_img_info(
- path, format=format, qemu_version=QEMU_VERSION)
- return imageutils.QemuImgInfo(info)
+ path, format=format, qemu_version=QEMU_VERSION,
+ output_format=output_format)
+ if output_format:
+ return imageutils.QemuImgInfo(info, format=output_format)
+ else:
+ return imageutils.QemuImgInfo(info)
def convert_image(source, dest, in_format, out_format, run_as_root=False,