diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-07-30 19:06:12 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-07-30 19:06:12 +0000 |
| commit | 857328b3744eb5a12ea9c535ecc8a322a9ee11cf (patch) | |
| tree | 3d729ff662d7628822cacbaea3aed73ff807a30a | |
| parent | 9b61fdf34bee6ad9d8e28a32c4c30df243b02443 (diff) | |
| parent | af0651946010e6bcc966005aa9fc2a1f38d3748a (diff) | |
| download | nova-857328b3744eb5a12ea9c535ecc8a322a9ee11cf.tar.gz nova-857328b3744eb5a12ea9c535ecc8a322a9ee11cf.tar.xz nova-857328b3744eb5a12ea9c535ecc8a322a9ee11cf.zip | |
Merge "Avoid error during snapshot of ISO booted instance"
| -rw-r--r-- | nova/tests/test_libvirt.py | 15 | ||||
| -rw-r--r-- | nova/virt/libvirt/utils.py | 3 |
2 files changed, 15 insertions, 3 deletions
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index bb885e8c1..4e6e1ec48 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -3303,15 +3303,24 @@ disk size: 4.4M''', '')) self.mox.ReplayAll() libvirt_utils.chown('/some/path', 'soren') - def test_extract_snapshot(self): + def _do_test_extract_snapshot(self, dest_format='raw', out_format='raw'): self.mox.StubOutWithMock(utils, 'execute') - utils.execute('qemu-img', 'convert', '-f', 'qcow2', '-O', 'raw', + utils.execute('qemu-img', 'convert', '-f', 'qcow2', '-O', out_format, '-s', 'snap1', '/path/to/disk/image', '/extracted/snap') # Start test self.mox.ReplayAll() libvirt_utils.extract_snapshot('/path/to/disk/image', 'qcow2', - 'snap1', '/extracted/snap', 'raw') + 'snap1', '/extracted/snap', dest_format) + + def test_extract_snapshot_raw(self): + self._do_test_extract_snapshot() + + def test_extract_snapshot_iso(self): + self._do_test_extract_snapshot(dest_format='iso') + + def test_extract_snapshot_qcow2(self): + self._do_test_extract_snapshot(dest_format='qcow2', out_format='qcow2') def test_load_file(self): dst_fd, dst_path = tempfile.mkstemp() diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py index b71aec5dc..55bca7996 100644 --- a/nova/virt/libvirt/utils.py +++ b/nova/virt/libvirt/utils.py @@ -322,6 +322,9 @@ def extract_snapshot(disk_path, source_fmt, snapshot_name, out_path, dest_fmt): :param snapshot_name: Name of snapshot in disk image :param out_path: Desired path of extracted snapshot """ + # NOTE(markmc): ISO is just raw to qemu-img + if dest_fmt == 'iso': + dest_fmt = 'raw' qemu_img_cmd = ('qemu-img', 'convert', '-f', |
