[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] virsh vcpucount problem



On 07/15/2011 05:20 PM, Eric Blake wrote:
Right now, 'virsh vcpucount' understands --current differently than all
other commands that understand --current. That is, --current is not a
synonym for whichever of --live or --config matches the current domain
state, but a counterpart of --maximum.

I'm about to teach VIR_AFFECT_CURRENT to the virDomainGetVcpusFlags
command. Do we fix 'virsh vcpucount --current' to map to this new flag
and come up with a new option that means the opposite of --maximum, or
do we just leave the virsh interface stuck the way it is?

I thought some more about this. What if we introduce a new flag while providing backwards compatibility with the old usage?

For a refresher, the old usage is:

vcpucount (no flags) - okay, prints all possible counts

vcpucount --maximum --live - okay, prints maximum vcpus for running domain
vcpucount --maximum --config - okay, prints maximum vcpus for inactive xml
vcpucount --current --live - okay, prints active vcpus for running domain
vcpucount --current --config - okay, prints active vcpus for inactive xml

vcpucount --maximum - error, missing --config or --live
vcpucount --current - error, missing --config or --live
vcpucount --live - error, missing --maximum or --current
vcpucount --config - error, missing --maximum or --current

vcpucount --maximum --current - error, can't combine --maximum and --current
vcpucount --live --config - error, can't combine --live and --config

The proposed new usage would be documented:

vcpucount <domain> [{--maximum | --active} {--current | --config | --live}]

that is, if any flags are present, then either --maximum or --active must be specified (to list the max vcpu or the active vcpu count), and either --current, --config, or --live must be specified (with --current gaining its traditional semantics as used in other virsh commands).

We can always tell the two cases apart. '--maximum --current' would no longer be an error, but be the new syntax. '--current --live' and '--current --config' would continue to work as the old syntax, but the new preferred spelling for the same command would be '--active --live' and '--active --config'. Any use of exactly 1 or more than 2 flags continues to be an error.

Any problems with this approach?

--
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]