I’ll take the liberty to cut one part (I agree with much of what you say elsewhere)
As illustrated earlier, I'd really like us to consider being a bit more adventurous on the CLI side. I'm convinced that a CLI for directly configurable hardware is doomed to be horrible no matter what, if you try to directly expose all QAPI configuration flexibilty. Whether key/value, JSON, whatever, it will become unmanagable on the CLI because VM hardware config is inherantly complicated.
I absolutely agree, but reach a slightly different conclusion Thus my though that config files or QMP should be the only two places where the full power of QAPI config is exposed. Use CLI as just a way to interact with config files in a simple way with templates.
I would countenance that we choose only one place to ‘support’ an interface. Either “Yet Another Hardware Configuration Language” or QAPI. Rather than re-inventing that wheel I would simply suggest that we leave that to the relevant ‘user’ community (libvirt, whatever), who have specific requirements and/or existing solutions. Leaving QEMU itself to focus on improving QAPI (and migrating the CLI).
Cheers Mark.
|