server: do not check affinity groups if no vm group mappings (#9542)

this fixes the exception in smoke test test_affinity_groups

```
2024-08-19T08:34:15,132 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-87:[ctx-f7804a8e, job-9232]) (logid:b71ddec8) Unexpected exception while executing org.apache.cloudstack.api.command.admin.vm.DeployVMCmdByAdmin com.cloud.utils.exception.CloudRuntimeException: Unable to find on DB, due to: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')  FOR UPDATE' at line 1
    at com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:441)
    at com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:368)
    at com.cloud.utils.db.GenericDaoBase.search(GenericDaoBase.java:357)
    at com.cloud.utils.db.GenericDaoBase.lockRows(GenericDaoBase.java:343)
    at org.apache.cloudstack.affinity.dao.AffinityGroupDaoImpl.listByIds(AffinityGroupDaoImpl.java:171)
```
This commit is contained in:
Wei Zhou 2024-08-21 10:27:33 +02:00 committed by GitHub
parent 9b22cd590d
commit b215abc30a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 0 deletions

View File

@ -139,6 +139,9 @@ public class HostAntiAffinityProcessor extends AffinityProcessorBase implements
VirtualMachine vm = vmProfile.getVirtualMachine();
List<AffinityGroupVMMapVO> vmGroupMappings = _affinityGroupVMMapDao.findByVmIdType(vm.getId(), getType());
if (CollectionUtils.isEmpty(vmGroupMappings)) {
return true;
}
for (AffinityGroupVMMapVO vmGroupMapping : vmGroupMappings) {
// if more than 1 VM's are present in the group then check for