Bug 1322752

Summary: An error "Must specify storage creation parameters for non-existent path" occurs when doing virt-clone with --preserve-data
Product: Red Hat Enterprise Linux 7 Reporter: Xiaodai Wang <xiaodwan>
Component: virt-managerAssignee: Pavel Hrdina <phrdina>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: juzhou, mxie, mzhan, tzheng, xzhong
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1342438 (view as bug list) Environment:
Last Closed: 2016-06-03 07:30:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1342438    

Description Xiaodai Wang 2016-03-31 09:10:09 UTC
Description of problem:
An error "Must specify storage creation parameters for non-existent path" occurs when doing virt-clone with --preserve-data

Version-Release number of selected component (if applicable):
virt-manager-1.2.1-8.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1. Prepare a shutdown vm.
2. Clone the vm with --preserve-data options and with a non-existent file.
# virt-clone -o vm1 -n vm2 -f /var/lib/libvirt/images/vm2 --preserve-data
or 
# virt-clone -o vm1 --auto-clone --preserve-data

Actual results:
An error occurs as below.
ERROR    Could not use path '/vm1-new.img' for cloning: Must specify storage creation parameters for non-existent path '/vm1-new.img'.

Expected results:
virt-clone should not report error and create a vm successfully.

Additional info:

Comment 2 Pavel Hrdina 2016-06-03 07:30:43 UTC
This isn't a bug.  If you use --preserve-data you have to provide an existing disk image via --file options.  The --preserve-data means that virt-clone will not modify in any way disk images specified via --files, it will use those files directly for the new guest created by this clone command, which means that the disk images must exists.  Man page for virt-clone states the same.