From 47293d464b80eb25686c7a5672e4670e3aa8a0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20R=C3=BCck?= Date: Thu, 18 Jun 2026 11:12:15 -0300 Subject: [PATCH] dynamic vm.network.throttling.rate global configuration --- .../service/NetworkOrchestrationService.java | 3 +++ .../engine/orchestration/NetworkOrchestrator.java | 2 +- server/src/main/java/com/cloud/configuration/Config.java | 9 --------- .../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 d1f391cf625c..97e2a979aa48 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 NSX_ENABLED = new ConfigKey<>(Boolean.class, "nsx.plugin.enable", "Advanced", "false", "Indicates whether to enable the NSX plugin", false, ConfigKey.Scope.Zone, null); + ConfigKey VmNetworkThrottlingRate = new ConfigKey("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 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 2da0c837a84e..f7aa957abb94 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 String getConfigComponentName() { @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 87ab3e39b464..b6a4ad6470ba 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 ac8e53caddf9..e6e3fd70a8dc 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 Integer getServiceOfferingNetworkRate(final long serviceOfferingId, final 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); } }