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);

Reply via email to