mlsorensen commented on PR #7506: URL: https://github.com/apache/cloudstack/pull/7506#issuecomment-1542655611
Tested this manually. To confirm bug, I set up current version, created 10 domains, set their VM limit to 1. Then ran a script to create 1 VM in each of these domains in parallel. Only one succeeded, the rest claimed we had hit our domain limits. This confirmed that the resource limit accounting for domains is considering all active in-flight VM resources, not just domain scoped (per the issue described in `getDomainReservation`). ``` % ./cbench -benchmark vmcreate -workers 10 -jobs 1 Starting 10 workers to create 10 total VMs Starting worker 9 to create 1 VMs Starting worker 5 to create 1 VMs Starting worker 8 to create 1 VMs Starting worker 7 to create 1 VMs Starting worker 0 to create 1 VMs Starting worker 4 to create 1 VMs Starting worker 6 to create 1 VMs Starting worker 2 to create 1 VMs Starting worker 1 to create 1 VMs Starting worker 3 to create 1 VMs Error while deploying VM with worker 2: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 4 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 5: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 7 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 6: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 8 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 7: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 9 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 4: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 6 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 0: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 2 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 9: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 11 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 3: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 5 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Error while deploying VM with worker 1: CloudStack API error 535 (CSExceptionErrorCode: 9999): Maximum domain resource limits of Type 'user_vm' for Domain Id = 3 is exceeded: Domain Resource Limit = (1 bytes) 1, Current Domain Resource Amount = (0 bytes) 0, Requested Resource Amount = (1 bytes) 1., <nil> Worker 8 created 1 VMs in 16.576664292s Total time elapsed: 16.577598917s ``` Then applied patched version and re-ran the same test. All domains were able to create their 1 VM. ``` % ./cbench -benchmark vmcreate -workers 10 -jobs 1 Starting 10 workers to create 10 total VMs Starting worker 9 to create 1 VMs Starting worker 0 to create 1 VMs Starting worker 5 to create 1 VMs Starting worker 1 to create 1 VMs Starting worker 2 to create 1 VMs Starting worker 7 to create 1 VMs Starting worker 6 to create 1 VMs Starting worker 3 to create 1 VMs Starting worker 4 to create 1 VMs Starting worker 8 to create 1 VMs Worker 0 created 1 VMs in 23.058241333s Worker 1 created 1 VMs in 23.0738885s Worker 6 created 1 VMs in 23.120527416s Worker 4 created 1 VMs in 23.133709958s Worker 8 created 1 VMs in 23.234045041s Worker 2 created 1 VMs in 23.359964625s Worker 3 created 1 VMs in 23.385948792s Worker 5 created 1 VMs in 23.472282208s Worker 9 created 1 VMs in 23.497680333s Worker 7 created 1 VMs in 30.463185125s Total time elapsed: 30.464112541s ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
