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

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


The following commit(s) were added to refs/heads/4.20 by this push:
     new 78d9cb5abd6 dynamic vm.network.throttling.rate global configuration 
(#12567)
78d9cb5abd6 is described below

commit 78d9cb5abd633ff740352637dce417346b0b8a80
Author: Gustavo Rück <[email protected]>
AuthorDate: Sun Jun 21 08:27:50 2026 -0300

    dynamic vm.network.throttling.rate global configuration (#12567)
    
    Co-authored-by: Gustavo Rück <[email protected]>
---
 .../orchestration/service/NetworkOrchestrationService.java       | 3 +++
 .../cloudstack/engine/orchestration/NetworkOrchestrator.java     | 2 +-
 server/src/main/java/com/cloud/configuration/Config.java         | 9 ---------
 .../java/com/cloud/configuration/ConfigurationManagerImpl.java   | 2 +-
 4 files changed, 5 insertions(+), 11 deletions(-)

diff --git 
a/engine/api/src/main/java/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java
 
b/engine/api/src/main/java/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java
index d1f391cf625..97e2a979aa4 100644
--- 
a/engine/api/src/main/java/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java
+++ 
b/engine/api/src/main/java/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java
@@ -112,6 +112,9 @@ public interface NetworkOrchestrationService {
     static final ConfigKey<Boolean> NSX_ENABLED = new 
ConfigKey<>(Boolean.class, "nsx.plugin.enable", "Advanced", "false",
             "Indicates whether to enable the NSX plugin", false, 
ConfigKey.Scope.Zone, null);
 
+    ConfigKey<Integer> VmNetworkThrottlingRate = new 
ConfigKey<Integer>("Network", Integer.class, "vm.network.throttling.rate", 
"200",
+            "Default data transfer rate in megabits per second allowed in User 
vm's default network.", true, ConfigKey.Scope.Zone);
+
     List<? extends Network> setupNetwork(Account owner, NetworkOffering 
offering, DeploymentPlan plan, String name, String displayText, boolean 
isDefault)
         throws ConcurrentOperationException;
 
diff --git 
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
index 2da0c837a84..f7aa957abb9 100644
--- 
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
@@ -4905,7 +4905,7 @@ public class NetworkOrchestrator extends ManagerBase 
implements NetworkOrchestra
     @Override
     public ConfigKey<?>[] getConfigKeys() {
         return new ConfigKey<?>[]{NetworkGcWait, NetworkGcInterval, 
NetworkLockTimeout, DeniedRoutes,
-                GuestDomainSuffix, NetworkThrottlingRate, MinVRVersion,
+                GuestDomainSuffix, NetworkThrottlingRate, 
VmNetworkThrottlingRate, MinVRVersion,
                 PromiscuousMode, MacAddressChanges, ForgedTransmits, 
MacLearning, RollingRestartEnabled,
                 TUNGSTEN_ENABLED, NSX_ENABLED };
     }
diff --git a/server/src/main/java/com/cloud/configuration/Config.java 
b/server/src/main/java/com/cloud/configuration/Config.java
index 87ab3e39b46..b6a4ad6470b 100644
--- a/server/src/main/java/com/cloud/configuration/Config.java
+++ b/server/src/main/java/com/cloud/configuration/Config.java
@@ -299,15 +299,6 @@ public enum Config {
             "cloud-public",
             "Default network label to be used when fetching interface for GRE 
endpoints",
             null),
-    VmNetworkThrottlingRate(
-            "Network",
-            ManagementServer.class,
-            Integer.class,
-            "vm.network.throttling.rate",
-            "200",
-            "Default data transfer rate in megabits per second allowed in User 
vm's default network.",
-            null),
-
     SecurityGroupWorkCleanupInterval(
             "Network",
             ManagementServer.class,
diff --git 
a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java 
b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
index ac8e53caddf..e6e3fd70a8d 100644
--- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -7967,7 +7967,7 @@ public class ConfigurationManagerImpl extends ManagerBase 
implements Configurati
             if (offering.getVmType() != null && 
offering.getVmType().equalsIgnoreCase(VirtualMachine.Type.DomainRouter.toString()))
 {
                 networkRate = 
NetworkOrchestrationService.NetworkThrottlingRate.valueIn(dataCenterId);
             } else {
-                networkRate = 
Integer.parseInt(_configDao.getValue(Config.VmNetworkThrottlingRate.key()));
+                networkRate = 
NetworkOrchestrationService.VmNetworkThrottlingRate.valueIn(dataCenterId);
             }
         }
 

Reply via email to