Description of problem:
Under specific conditions I can define parameters for formula of quota
quota = (anchor*(#userSelection/100)) / #numOfVcpusInVm, when anchor=100000, by way that quota will be less that 1000(for example #userSelection=2 and #numOfVcpusInVm=4, in this case quota will be equal to 500), but in libvirt documentation I see that limitation for quota is [1000, 18446744073709551], so in this case it just drop some default value, for my case it equal to 25000.
Version-Release number of selected component (if applicable):
rhevm-3.5.0-0.31.el6ev.noarch
Checked for two versions of libvirt, so I believe that this issue exist for all versions:
libvirt-1.2.8-15.el7.x86_64
How reproducible:
Always
Steps to Reproduce:
1. Create cpu profile with limit equal to 2
2. Create vm with 4 cpu's
3. Run vm and check virsh -r dumpxml vm_name
Actual results:
<metadata>
<ovirt:qos xmlns:ovirt="http://ovirt.org/vm/tune/1.0">
<ovirt:vcpuLimit>2</ovirt:vcpuLimit>
</ovirt:qos>
</metadata>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static' current='4'>32</vcpu>
<cputune>
<shares>1020</shares>
<period>12500</period>
<quota>25000</quota>
</cputune>
Quota equal to 25000(if calculate by formula it must be equal to 500)
Expected results:
By my opinion, if quota less that 1000, we can put just minimal acceptable value 1000 for quota parameter, also it can be a good idea to give to user some warning message.
Additional info:
Was able to locally work around Bug 1278324. This bug is a duplicate of Bug 1207610. Both, vcpu_quota and vcpu_period have to be above or equal thousand and the implementation introduced by Bug 1207610 is fixing that.
*** This bug has been marked as a duplicate of bug 1207610 ***