Daniel P. Berrange wrote: > On Tue, Aug 12, 2008 at 05:06:38PM -0400, Cole Robinson wrote: >> Per Dan's advice, I've changed the previously proposed >> virt-install cli options for specifying libvirt managed >> storage. >> >> This patch does not change any possible semantics of >> --file or --cdrom: they remain strictly for specifying >> local media. In this way they are basically deprecated. >> >> A new cli option is added: --disk. The format is: >> >> --disk path:///some/file/path[:device=cdrom|floppy][:permissions=ro|sh] >> --disk vol:///poolname/volname[:device=cdrom|floppy][:permissions=ro|sh] >> --disk pool:///poolname[:device=cdrom|floppy][:permissions=ro|sh] >> >> The changes from Dan's proposal are: >> >> - use of path:/// instead of file:///, since this will >> hopefully clear up any confusion users previously had >> with specifying block devices. >> - For vol:///, I used / as a delimiter vs. ':' between >> the pool and vol name, to avoid any extra collisions >> (since I assume '/' is not part of a legal pool name). >> - Explictly list what type of extra option we are >> appending (device, permissions). This adds clarity >> to the command line, reduces chance of name collision, >> and is similar to the approach used by qemu. >> >> The --disk option is quite useful even for the local case, >> since users can now add cdrom and floppy drives (and eventually >> other device types) via the cli. This could also be expanded >> to allow specifying file formats (qcow2, etc.) for creating >> new storage. >> >> The other functionality change is that disk:/// can be used >> to specify install media. If none of --pxe, --cdrom, or >> --location are specified, we look to see if a --disk >> device=cdrom was specified, and if so, use that for >> installation. We can eventually expand this to allow >> installing off floppies. >> >> One question: Is ':' an appropriate delimiter? qemu typically >> uses ',' for these types of cli options. May be an arbitrary >> choice, but perhaps someone has an opinion. > > You could use ',', or we could use full URI syntax > > vol:///poolname/volname?device=[cdrom|floppy][;permissions=ro|sh] > > Separating params by a ';' or '&' - the former avoids shell > metacharacter expansion > > Daniel I'm kind of leaning away from the URI syntax. Granted it is well known, but requiring people to remember at least 4 special delimiters ( type:///, ?, option=, ; or : or ,) seems a bit much. With the tab expansion issue as well, I think using the qemu -drive syntax of just 'option=' with a ',' delimiter is the way to go. - Cole _______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools