Hello Chris, On Mon, 2012-06-18 at 14:01 +0530, Onkar N Mahajan wrote: > This patch fixes this issue - > https://github.com/autotest/autotest/issues/390 > > client/virt/libvirt_vm.py | 21 +++++++++++++++++---- > 1 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/client/virt/libvirt_vm.py b/client/virt/libvirt_vm.py > index c784f83..5bb315c 100644 > --- a/client/virt/libvirt_vm.py > +++ b/client/virt/libvirt_vm.py > @@ -972,10 +972,8 @@ class VM(virt_vm.BaseVM): > filename = virt_storage.get_image_filename(image_params, > root_dir) > if image_params.get("use_storage_pool") == "yes": > filename = None two add_drive function calls have been added For storage pools , where filename is None and image_pool, image_vol, image_device parameters are configured - > - if image_params.get("boot_drive") == "no": > - continue > - virt_install_cmd += add_drive(help, > - filename, > + virt_install_cmd += add_drive(help, > + filename, > image_params.get("image_pool"), > image_params.get("image_vol"), > image_params.get("image_device"), > @@ -986,6 +984,21 @@ class VM(virt_vm.BaseVM): > image_params.get("drive_cache"), > image_params.get("image_format")) > > + if image_params.get("boot_drive") == "no": > + continue
Storage pools are not being used case - here we are passing None for 'image_pools', 'image_vol' and 'image_device' as they are irrelevant in this case - these are two different cases - I have unit tested the patch for most buses (ide,scsi, virtio )before sending , and it works for them cleanly. I have re-send the patch (see below) > + if filename: > + virt_install_cmd += add_drive(help, > + > virt_utils.get_image_filename(image_params, root_dir), > + None, > + None, > + None, > + image_params.get("drive_format"), > + None, > + image_params.get("image_size"), > + image_params.get("drive_sparse"), > + image_params.get("drive_cache"), > + image_params.get("image_format")) > + > if (params.get('unattended_delivery_method') != 'integrated' and > not (self.driver_type == 'xen' and params.get('hvm_or_pv') == > 'pv')): > for cdrom in params.objects("cdroms"): > -- > 1.7.4.4 > *** Re-sending patch *** Only change seems to be virt_utils replaced by virt_storage , which seems to have changed after I sent the patch. So re-sending this patch with only this change : --- client/virt/libvirt_vm.py | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/client/virt/libvirt_vm.py b/client/virt/libvirt_vm.py index c784f83..f0ff7d6 100644 --- a/client/virt/libvirt_vm.py +++ b/client/virt/libvirt_vm.py @@ -972,10 +972,8 @@ class VM(virt_vm.BaseVM): filename = virt_storage.get_image_filename(image_params, root_dir) if image_params.get("use_storage_pool") == "yes": filename = None - if image_params.get("boot_drive") == "no": - continue - virt_install_cmd += add_drive(help, - filename, + virt_install_cmd += add_drive(help, + filename, image_params.get("image_pool"), image_params.get("image_vol"), image_params.get("image_device"), @@ -985,6 +983,20 @@ class VM(virt_vm.BaseVM): image_params.get("drive_sparse"), image_params.get("drive_cache"), image_params.get("image_format")) + if image_params.get("boot_drive") == "no": + continue + if filename: + virt_install_cmd += add_drive(help, + virt_storage.get_image_filename(image_params, root_dir), + None, + None, + None, + image_params.get("drive_format"), + None, + image_params.get("image_size"), + image_params.get("drive_sparse"), + image_params.get("drive_cache"), + image_params.get("image_format")) if (params.get('unattended_delivery_method') != 'integrated' and not (self.driver_type == 'xen' and params.get('hvm_or_pv') == 'pv')): -- 1.7.4.4 Best regards, -- Onkar N Mahajan System Software Engineer, IBM Linux Technology Center, Bangalore,India _______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest