This is an automated email from the ASF dual-hosted git repository. sureshanaparti pushed a commit to branch 4.22 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit b74f21b9670fcfa8fcff6e3df44d48afa301d9b7 Merge: 5caf6cd043f 744c8afcf15 Author: Suresh Kumar Anaparti <[email protected]> AuthorDate: Thu Feb 26 11:11:41 2026 +0530 Merge branch '4.20' into 4.22 .github/workflows/merge-conflict-checker.yml | 4 +- .../cloud/agent/api/ModifyStoragePoolAnswer.java | 4 + .../src/main/java/com/cloud/user/UserVO.java | 2 +- .../main/java/com/cloud/user/dao/AccountDao.java | 2 - .../java/com/cloud/user/dao/AccountDaoImpl.java | 60 +-------- .../CitrixModifyStoragePoolCommandWrapper.java | 12 +- .../com/cloud/server/ManagementServerImpl.java | 31 +++-- .../com/cloud/template/TemplateManagerImpl.java | 14 ++- .../java/com/cloud/user/AccountManagerImpl.java | 134 ++++++++++----------- ...tBase.java => AccountManagentImplTestBase.java} | 8 +- .../com/cloud/user/AccountManagerImplTest.java | 112 ++++++++--------- .../AccountManagerImplVolumeDeleteEventTest.java | 2 +- ui/src/config/section/user.js | 4 + 13 files changed, 168 insertions(+), 221 deletions(-) diff --cc core/src/main/java/com/cloud/agent/api/ModifyStoragePoolAnswer.java index a3401d6faed,9f7b1059512..275468214f5 --- a/core/src/main/java/com/cloud/agent/api/ModifyStoragePoolAnswer.java +++ b/core/src/main/java/com/cloud/agent/api/ModifyStoragePoolAnswer.java @@@ -46,10 -46,10 +46,14 @@@ public class ModifyStoragePoolAnswer ex templateInfo = tInfo; } + public ModifyStoragePoolAnswer(final Command command, final boolean success, final String details) { + super(command, success, details); + } + + public ModifyStoragePoolAnswer(ModifyStoragePoolCommand cmd, boolean success, String details) { + super(cmd, success, details); + } + public void setPoolInfo(StoragePoolInfo poolInfo) { this.poolInfo = poolInfo; } diff --cc server/src/main/java/com/cloud/server/ManagementServerImpl.java index 57d87898109,bd4c311e3cd..4cb395d476e --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@@ -2671,12 -2612,16 +2681,15 @@@ public class ManagementServerImpl exten } if (associatedNetworkId != null) { NetworkVO guestNetwork = networkDao.findById(associatedNetworkId); - if (zoneId == null) { - zoneId = guestNetwork.getDataCenterId(); - } else if (zoneId != guestNetwork.getDataCenterId()) { - throw new InvalidParameterValueException("Please specify a valid associated network id in the specified zone."); + + if (guestNetwork != null) { + if (zoneId == null) { + zoneId = guestNetwork.getDataCenterId(); + } else if (zoneId != guestNetwork.getDataCenterId()) { - InvalidParameterValueException ex = new InvalidParameterValueException("Please specify a valid associated network id in the specified zone."); - throw ex; ++ throw new InvalidParameterValueException("Please specify a valid associated network id in the specified zone."); + } + owner = _accountDao.findById(guestNetwork.getAccountId()); } - owner = _accountDao.findById(guestNetwork.getAccountId()); } List<DataCenterVO> dcList = new ArrayList<>(); if (zoneId == null){ diff --cc server/src/main/java/com/cloud/user/AccountManagerImpl.java index dd60fbfb9cc,1f6e8d5b49e..bfe6a1b0a47 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@@ -177,7 -175,7 +176,8 @@@ import com.cloud.utils.ConstantTimeComp import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.Ternary; +import com.cloud.utils.UuidUtils; + import com.cloud.utils.StringUtils; import com.cloud.utils.component.ComponentContext; import com.cloud.utils.component.Manager; import com.cloud.utils.component.ManagerBase; @@@ -1338,7 -1320,7 +1327,7 @@@ public class AccountManagerImpl extend // Check permissions checkAccess(getCurrentCallingAccount(), domain); - if (!userAllowMultipleAccounts.valueInScope(ConfigKey.Scope.Domain, domainId) && !_userAccountDao.validateUsernameInDomain(userName, domainId)) { - if (!userAllowMultipleAccounts.valueInDomain(domainId) && !userAccountDao.validateUsernameInDomain(userName, domainId)) { ++ if (!userAllowMultipleAccounts.valueInScope(ConfigKey.Scope.Domain, domainId) && !userAccountDao.validateUsernameInDomain(userName, domainId)) { throw new InvalidParameterValueException(String.format("The user %s already exists in domain %s", userName, domain)); } @@@ -1532,7 -1514,7 +1521,7 @@@ throw new PermissionDeniedException(String.format("Account: %s is a system account, can't add a user to it", account)); } - if (!userAllowMultipleAccounts.valueInScope(ConfigKey.Scope.Domain, domainId) && !_userAccountDao.validateUsernameInDomain(userName, domainId)) { - if (!userAllowMultipleAccounts.valueInDomain(domainId) && !userAccountDao.validateUsernameInDomain(userName, domainId)) { ++ if (!userAllowMultipleAccounts.valueInScope(ConfigKey.Scope.Domain, domainId) && !userAccountDao.validateUsernameInDomain(userName, domainId)) { throw new CloudRuntimeException("The user " + userName + " already exists in domain " + domainId); } List<UserVO> duplicatedUsers = _userDao.findUsersByName(userName);
