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
1diff --git a/vm-tools/uvt b/vm-tools/uvt
2index c7b0143..99b9122 100755
3--- a/vm-tools/uvt
4+++ b/vm-tools/uvt
5@@ -1806,7 +1806,7 @@ def create_preseeded_iso(release_iso, iso_type, vm_name, release,
6
7 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)
8 if os.path.exists(release_iso_preseed_path):
9- os.unlink(release_iso_preseed_path)
10+ remove_preseeded_iso(release_iso, vm_name)
11
12 print("Creating preseeded iso...")
13 # Create a temp dir to store the iso contents
14@@ -1892,7 +1892,17 @@ def remove_preseeded_iso(release_iso, vm_name):
15 release_iso_preseed_path = os.path.join(uvt_conf['vm_dir_iso_cache'], release_iso_preseed)
16
17 if os.path.exists(release_iso_preseed_path):
18+ rc, out = runcmd(["virsh", "--connect", uvt_conf["vm_connect"],
19+ "vol-delete", release_iso_preseed_path])
20+ if rc == 0:
21+ return True
22+ try:
23 os.unlink(release_iso_preseed_path)
24+ return True
25+ except:
26+ print("Error removing preseeded iso: " + release_iso_preseed_path)
27+ print("Please, remove it manually to continue")
28+ exit(-1)
29
30 def create_preseed_file(temp_dir, iso_type, release, release_num, vm_name):
31 '''Creates an appropriate preseed file'''

Subscribers

People subscribed via source and target branches