Merge ~jslarraz/ubuntu-qa-tools:use-vol-delete into ubuntu-qa-tools:master

Proposed by Jorge Sancho Larraz
Status: Merged
Merged at revision: 41d785e2412afae6c3e8cf298a05408841f6ddf3
Proposed branch: ~jslarraz/ubuntu-qa-tools:use-vol-delete
Merge into: ubuntu-qa-tools:master
Diff against target: 31 lines (+11/-1)
1 file modified
vm-tools/uvt (+11/-1)
Reviewer Review Type Date Requested Status
Marc Deslauriers Approve
Review via email: mp+460672@code.launchpad.net

Commit message

uvt: use vol-delete in remove_preseeded_iso

Description of the change

currently remove_preseeded_iso uses os.unlink() to remove the preseeded iso existent from a previous vm creation. Calling virt-install will change preseeded_iso file owner and group to libvbirt-qemu and kvm respectively. Thus, it will be more correct to use virsh vol-delete to remove it.

In case an error occurs between the generation of the preseeded_iso and the call to virt-install (or early in the execution of virt-install), the preseeded iso would remain being owned by the user. Thus, we still want to use os.unlink in case virsh vol-delete does not complete succesfully

To post a comment you must log in.
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Looks good, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/vm-tools/uvt b/vm-tools/uvt
index c7b0143..99b9122 100755
--- a/vm-tools/uvt
+++ b/vm-tools/uvt
@@ -1806,7 +1806,7 @@ def create_preseeded_iso(release_iso, iso_type, vm_name, release,
18061806
1807 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)1807 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)
1808 if os.path.exists(release_iso_preseed_path):1808 if os.path.exists(release_iso_preseed_path):
1809 os.unlink(release_iso_preseed_path)1809 remove_preseeded_iso(release_iso, vm_name)
18101810
1811 print("Creating preseeded iso...")1811 print("Creating preseeded iso...")
1812 # Create a temp dir to store the iso contents1812 # Create a temp dir to store the iso contents
@@ -1892,7 +1892,17 @@ def remove_preseeded_iso(release_iso, vm_name):
1892 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)1892 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)
18931893
1894 if os.path.exists(release_iso_preseed_path):1894 if os.path.exists(release_iso_preseed_path):
1895 rc, out = runcmd(["virsh", "--connect", uvt_conf["vm_connect"],
1896 "vol-delete", release_iso_preseed_path])
1897 if rc == 0:
1898 return True
1899 try:
1895 os.unlink(release_iso_preseed_path)1900 os.unlink(release_iso_preseed_path)
1901 return True
1902 except:
1903 print("Error removing preseeded iso: " + release_iso_preseed_path)
1904 print("Please, remove it manually to continue")
1905 exit(-1)
18961906
1897def create_preseed_file(temp_dir, iso_type, release, release_num, vm_name):1907def create_preseed_file(temp_dir, iso_type, release, release_num, vm_name):
1898 '''Creates an appropriate preseed file'''1908 '''Creates an appropriate preseed file'''

Subscribers

People subscribed via source and target branches