Cannot add VM. Maximum number of threads per cpu exceeded

Hi, We have a strange thing, which not clear to us. When provisioning a new VM via REST API, if the number of vCPU for that VM is more than 16, I'm getting this error: Fault reason is "Operation Failed". Fault detail is "[Cannot add VM. Maximum number of threads per cpu exceeded]". HTTP response code is 409. Our version is: Version 4.3.6.6-1.0.9.el7 Note that manual provisioning from the UI do not produce any error when using vCPU > 16. It seems like the issue is related to this setting (from the engine): [root@olvmengine01 ~]# engine-config -g MaxNumOfThreadsPerCpu MaxNumOfThreadsPerCpu: 8 version: 4.1 MaxNumOfThreadsPerCpu: 8 version: 4.2 MaxNumOfThreadsPerCpu: 8 version: 4.3 [root@olvmengine01 ~]# But when trying to set it to another number, I'm always get this error, for example: [root@olvmengine01 ~]# engine-config -s MaxNumOfThreadsPerCpu=10 Please select a version: 1. 4.1 2. 4.2 3. 4.3 3 Cannot set value 10 to key MaxNumOfThreadsPerCpu. Questions: 1. Can you please explain why we getting this error: "Cannot add VM. Maximum number of threads per cpu exceeded"? 2. Is it related to engine-config -g MaxNumOfThreadsPerCpu? 3. Why it is working manually via the UI? 4. if its related to engine-config, why we can't set it to another number? Thanks in advance, Lavi

On Tue, Feb 23, 2021 at 4:10 PM Lavi.Buchnik--- via Users <users@ovirt.org> wrote:
Hi,
We have a strange thing, which not clear to us. When provisioning a new VM via REST API, if the number of vCPU for that VM is more than 16, I'm getting this error:
Fault reason is "Operation Failed". Fault detail is "[Cannot add VM. Maximum number of threads per cpu exceeded]". HTTP response code is 409.
Our version is: Version 4.3.6.6-1.0.9.el7
Note that manual provisioning from the UI do not produce any error when using vCPU > 16. It seems like the issue is related to this setting (from the engine):
[root@olvmengine01 ~]# engine-config -g MaxNumOfThreadsPerCpu MaxNumOfThreadsPerCpu: 8 version: 4.1 MaxNumOfThreadsPerCpu: 8 version: 4.2 MaxNumOfThreadsPerCpu: 8 version: 4.3 [root@olvmengine01 ~]#
But when trying to set it to another number, I'm always get this error, for example:
[root@olvmengine01 ~]# engine-config -s MaxNumOfThreadsPerCpu=10 Please select a version: 1. 4.1 2. 4.2 3. 4.3 3 Cannot set value 10 to key MaxNumOfThreadsPerCpu.
Questions: 1. Can you please explain why we getting this error: "Cannot add VM. Maximum number of threads per cpu exceeded"?
You've specified a value for threads-per-core that exceeds the MaxNumOfThreadsPerCpu limit. 2. Is it related to engine-config -g MaxNumOfThreadsPerCpu?
Yes
3. Why it is working manually via the UI?
The UI sets the CPU topology for you when you specify the number of vCPUs (for 16, it produces #sockets = 16, #cores=1, #threads=1).
4. if its related to engine-config, why we can't set it to another number?
You can change the values that engine-config accepts for MaxNumOfThreadsPerCpu by changing MaxNumOfThreadsPerCpu.validValues in /etc/ovirt-engine/engine-config/engine-config.properties but I think it would be better to specify a better CPU topology in the request..
Thanks in advance, Lavi _______________________________________________ Users mailing list -- users@ovirt.org To unsubscribe send an email to users-leave@ovirt.org Privacy Statement: https://www.ovirt.org/privacy-policy.html oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/users@ovirt.org/message/CRKRVCWPUIN6HG...

Thanks, I updated the code to use this topology: cpu=types.Cpu( topology=types.CpuTopology( cores=1, sockets=vCPU, threads=1, ), ), And now it is fine. Thanks, Lavi
participants (3)
-
Arik Hadas
-
Lavi.Buchnik@exlibrisgroup.com
-
lavi.buchnik@exlibrisgroup.com