We have, so far, been ignoring the vcpu bit of XML generation, mostly because
we treat multiple vcpus as separate devices in the CIM world, but as a single
integral value in the libvirt world. This set changes the way the xml
generation code is structured to handle batches of devices, and then adds
support for generating the VCPU node.
It's a little strange, but I decided that allowing a given device class to
modify and append the XML being generated for its class was the safest
way to handle all the cases without separating things out too much. Comments
on this approach are welcomed.
I believe that this set will also make ModifyResource in VSMS work for VCPUs
as well, since it should be able to generate updated XML with the new
vcpu count after such an operation. More testing to determine if additional
work will be required needs to be done.