[libvirt] [PATCH 09/12] vcpu: add virsh support

Eric Blake eblake at redhat.com
Tue Oct 12 14:49:37 UTC 2010


On 09/29/2010 06:02 PM, Eric Blake wrote:
> * tools/virsh.c (cmdSetvcpus): Add new flags.  Let invalid
> commands through to driver, to ease testing of hypervisor argument
> validation.
> (cmdVcpucount): New command.
> (commands): Add new command.
> * tools/virsh.pod (setvcpus, vcpucount): Document new behavior.
> ---

In testing this, I found it useful to add one more command.

Previously, virsh had no way to get at 
virConnectGetMaxVcpus/virDomainGetMaxVcpus (it is used it inside 
setvcpus, but not exposed to the user).  And now that 
virDomainGetVcpusFlags is smarter about reading the maximum limit 
associated with the XML of a domain, it is harder to tell whether the 
maximum associated with a domain is due to the domain's xml or due to 
the XML omitting the <vcpus> element and inheriting the hypervisor's 
maximum.  That is, with more flexibility in vcpu management, it is also 
more important to know, for example, that the max vcpus permitted by xen 
is 32, and the max vcpus permitted by qemu is dependent on the number of 
cores in the host, whether or not a given domain is using that many vcpus.

I debated between two interfaces:

1. Make vcpucount smarter:
vcpucount => virConnectGetMaxVcpus, plus table of all vcpu stats on all 
domains
vcpucount domain => table of all vcpu stats on domain
vcpucount {--live|--config} {--curent|--maximum} domain => single stat
vcpucount domain... => table of all vcpu stats on listed domains

2. Add second command, leaving vcpucount unchanged from v1:
maxvcpus [--type=string] => virConnectGetMaxVcpus

then decided to go with option 2 in my v2 posting of the vcpu series, 
unless anyone has a reason why overloading a single command makes more 
sense than keeping the separate API calls under separate commands.

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




More information about the libvir-list mailing list