[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument synt
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument syntax |
Date: |
Mon, 6 Feb 2017 11:08:47 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Sat, Feb 04, 2017 at 08:21:50PM +0800, Fam Zheng wrote:
> On Thu, 02/02 20:42, Markus Armbruster wrote:
> > === Comparison ===
> >
> > In my opinion, dotted keys are weird and ugly, but at least they don't
> > add to the quoting mess. Structured values look better, except when
> > they do add to the quoting mess.
> >
> > I'm having a hard time deciding which one I like less :)
> >
> > Opinions? Other ideas?
>
> Here's my poor attempt:
>
> The dotted syntax, as the simpler of two, can cover everyday use very well.
> If
> we introduce an "@reference" extension to it which can help the expresiveness,
> we can have a hybrid solution. It's not the cleanest interface and syntax, but
> escaping, nesting and quoting can all be divide-and-conqured in their optimal
> way.
> What I'm imagining is something like:
>
> -json "id=children0,text=[
> { 'driver': 'null-co://' },
> { 'driver': 'null-co://' },
> { 'driver': 'null-co://' }
> ]" \
> -dot \
>
> id=quorum0,driver=quorum,read-pattern=fifo,vote-threshold=1,address@hidden \
> -drive if=virtio,id=primary-disk0,driver=qcow2,address@hidden
>
> IOW "-json" and "-dot" define options that is intended to be referenced from
> other dotted keys (quorum0 uses children0, and in turn primary-disk0 uses
> quorum0).
>
> Note: "-dot" here could be replaced with a -blockdev in this specific case but
> I'm demostrating it just in case it is useful generically.
I'd be pretty wary of inventing this kind of magic. Having references
might sound neat, but I think this is pretty alien from POV of the code
generating such CLIs in libvirt. I think we'd sooner just use pure json
for everything than support such a feature in libvirt.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
- Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument syntax, (continued)
- Re: [Qemu-block] Non-flat command line option argument syntax, Markus Armbruster, 2017/02/06
- Re: [Qemu-block] Non-flat command line option argument syntax, Kevin Wolf, 2017/02/06
- Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument syntax, Paolo Bonzini, 2017/02/06
- Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument syntax, Markus Armbruster, 2017/02/06
- Re: [Qemu-block] [Qemu-devel] Non-flat command line option argument syntax, Paolo Bonzini, 2017/02/06