This is an automated email from the ASF dual-hosted git repository.

weizhouapache pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 846803db0766e95e618d0675186268c4d31fefb0
Merge: 4d54125bb62 265b554d608
Author: Wei Zhou <[email protected]>
AuthorDate: Fri Jul 10 14:40:24 2026 +0200

    Merge remote-tracking branch 'apache/4.22'

 .../service/NetworkOrchestrationService.java       |   3 +
 .../engine/orchestration/NetworkOrchestrator.java  |   2 +-
 .../com/cloud/upgrade/DatabaseUpgradeChecker.java  |   8 +-
 .../com/cloud/upgrade/dao/Upgrade42030to42040.java |  58 +++
 ...e42010to42100.java => Upgrade42040to42100.java} |   8 +-
 .../resourcedetail/ResourceDetailsDao.java         |   2 +
 .../resourcedetail/ResourceDetailsDaoBase.java     |  14 +
 ...cleanup.sql => schema-42040to42100-cleanup.sql} |   2 +-
 ...ma-42010to42100.sql => schema-42040to42100.sql} |   2 +-
 .../cloud/upgrade/DatabaseUpgradeCheckerTest.java  |  32 +-
 ...42100Test.java => Upgrade42040to42100Test.java} |   4 +-
 .../framework/jobs/impl/AsyncJobManagerImpl.java   |  38 +-
 .../framework/jobs/AsyncJobManagerTest.java        |  20 +
 .../kvm/storage/KVMStorageProcessor.java           |   2 +-
 .../org/apache/cloudstack/utils/qemu/QemuImg.java  |   6 +-
 .../adapter/flasharray/FlashArrayAdapter.java      |  38 +-
 plugins/storage/volume/linstor/CHANGELOG.md        |   8 +
 .../LinstorBackupSnapshotCommandWrapper.java       |  46 ++-
 .../LinstorRevertBackupSnapshotCommandWrapper.java |  28 +-
 .../driver/LinstorPrimaryDataStoreDriverImpl.java  |  14 +-
 server/src/main/java/com/cloud/api/ApiServer.java  |   8 +-
 server/src/main/java/com/cloud/api/ApiServlet.java |  22 +-
 .../main/java/com/cloud/configuration/Config.java  |   9 -
 .../configuration/ConfigurationManagerImpl.java    |   2 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   9 +-
 .../network/element/VirtualRouterElement.java      |  24 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |   2 +-
 .../cloudstack/backup/BackupManagerImpl.java       |   2 +-
 .../cloudstack/cluster/ClusterDrsServiceImpl.java  |  34 +-
 .../cluster/ClusterDrsServiceImplTest.java         |  46 ++-
 test/integration/plugins/linstor/README.md         |  18 +
 .../linstor/test_linstor_encrypted_snapshots.py    | 444 +++++++++++++++++++++
 ui/public/locales/en.json                          |   5 +
 ui/src/style/vars.less                             |   2 +-
 ui/src/utils/ssvmProbe.js                          |  30 ++
 ui/src/views/image/RegisterOrUploadIso.vue         |  50 ++-
 ui/src/views/image/RegisterOrUploadTemplate.vue    |  45 ++-
 ui/src/views/infra/network/IpRangesTabPublic.vue   |   4 +
 ui/src/views/storage/UploadLocalVolume.vue         | 133 +++---
 39 files changed, 1031 insertions(+), 193 deletions(-)

diff --cc 
engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
index ce5b3f6d094,55079173dc9..15f112c0a36
--- 
a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
+++ 
b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
@@@ -5065,7 -4937,7 +5065,7 @@@ public class NetworkOrchestrator extend
      @Override
      public ConfigKey<?>[] getConfigKeys() {
          return new ConfigKey<?>[]{NetworkGcWait, NetworkGcInterval, 
NetworkLockTimeout, DeniedRoutes,
-                 GuestDomainSuffix, NetworkThrottlingRate, MinVRVersion, 
DhcpLeaseTimeout,
 -                GuestDomainSuffix, NetworkThrottlingRate, 
VmNetworkThrottlingRate, MinVRVersion,
++                GuestDomainSuffix, NetworkThrottlingRate, 
VmNetworkThrottlingRate, MinVRVersion, DhcpLeaseTimeout,
                  PromiscuousMode, MacAddressChanges, ForgedTransmits, 
MacLearning, RollingRestartEnabled,
                  TUNGSTEN_ENABLED, NSX_ENABLED, NETRIS_ENABLED, 
NETWORK_LB_HAPROXY_MAX_CONN,
                  NETWORK_LB_HAPROXY_IDLE_TIMEOUT};
diff --cc 
engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
index 0e784d961b3,3868ca960e0..c3a982aa70e
--- a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
@@@ -240,10 -241,11 +242,12 @@@ public class DatabaseUpgradeChecker imp
                  .next("4.19.0.0", new Upgrade41900to41910())
                  .next("4.19.1.0", new Upgrade41910to42000())
                  .next("4.20.0.0", new Upgrade42000to42010())
-                 .next("4.20.1.0", new Upgrade42010to42100())
+                 .next("4.20.2.0", new Upgrade42020to42030())
+                 .next("4.20.3.0", new Upgrade42030to42040())
+                 .next("4.20.4.0", new Upgrade42040to42100())
                  .next("4.21.0.0", new Upgrade42100to42200())
                  .next("4.22.0.0", new Upgrade42200to42210())
 +                .next("4.22.1.0", new Upgrade42210to42300())
                  .build();
      }
  
diff --cc 
server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
index ed3d8558cc5,d662997e392..3c9855ae87a
--- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
@@@ -1605,7 -1435,7 +1605,7 @@@ public class BackupManagerImpl extends 
          accountManager.checkAccess(CallContext.current().getCallingAccount(), 
null, true, vm);
  
          if (vm.getBackupOfferingId() != null && 
!BackupEnableAttachDetachVolumes.value()) {
-             throw new CloudRuntimeException("The selected Instance has 
backups, cannot restore and attach Volume to the Instance.");
 -            throw new CloudRuntimeException("The selected VM is attached to a 
backup offering and, thus, it is not possible to restore and attach volumes 
from backups to the instance.");
++            throw new CloudRuntimeException("The selected Instance is 
attached to a backup offering and, thus, it is not possible to restore and 
attach Volumes from backups to the Instance.");
          }
  
          if (backup.getZoneId() != vm.getDataCenterId()) {

Reply via email to