This is an automated email from the ASF dual-hosted git repository. DaanHoogland pushed a commit to branch ghi10752-configCleanup in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 2804221f3d81c084a6591479bc0c921a17511016 Author: Daan Hoogland <[email protected]> AuthorDate: Fri Aug 14 12:55:31 2026 +0200 move more network configuration items from deprecated Config enum to services --- .../main/java/com/cloud/network/NetworkModel.java | 3 +++ .../java/com/cloud/network/NetworkService.java | 7 +++++++ .../cloud/network/vpn/RemoteAccessVpnService.java | 7 +++++++ .../service/NetworkOrchestrationService.java | 17 ++++++++++++++++ .../network/security/SecurityGroupManager.java | 19 ++++++++++++++++++ .../engine/orchestration/NetworkOrchestrator.java | 3 ++- .../network/lb/ElasticLoadBalancerManagerImpl.java | 8 ++++---- .../lb/InternalLoadBalancerVMManagerImpl.java | 8 ++++---- .../network/tungsten/service/TungstenElement.java | 13 +++++------- .../tungsten/service/TungstenServiceImpl.java | 13 +++++------- .../tungsten/service/TungstenElementTest.java | 20 +++++++++++-------- .../tungsten/service/TungstenServiceImplTest.java | 6 ------ .../configuration/ConfigurationManagerImpl.java | 5 +++-- .../network/ExternalFirewallDeviceManagerImpl.java | 3 +-- .../java/com/cloud/network/NetworkModelImpl.java | 5 ++--- .../java/com/cloud/network/NetworkServiceImpl.java | 8 ++++---- .../com/cloud/network/guru/GuestNetworkGuru.java | 5 ++--- .../cloud/network/router/CommandSetupHelper.java | 8 ++++---- .../cloud/network/router/NetworkHelperImpl.java | 3 +-- .../router/VirtualNetworkApplianceManager.java | 6 ++++++ .../router/VirtualNetworkApplianceManagerImpl.java | 15 ++++++-------- .../network/security/SecurityGroupManagerImpl.java | 23 +++++++++++++++------- .../security/SecurityGroupManagerImpl2.java | 5 +---- .../network/vpn/RemoteAccessVpnManagerImpl.java | 8 +++----- 24 files changed, 134 insertions(+), 84 deletions(-) diff --git a/api/src/main/java/com/cloud/network/NetworkModel.java b/api/src/main/java/com/cloud/network/NetworkModel.java index 7e1a07ebeb6..e5cf60af1d9 100644 --- a/api/src/main/java/com/cloud/network/NetworkModel.java +++ b/api/src/main/java/com/cloud/network/NetworkModel.java @@ -97,6 +97,9 @@ public interface NetworkModel { static final ConfigKey<Boolean> AdminIsAllowedToDeployAnywhere = new ConfigKey<>("Advanced",Boolean.class, "admin.is.allowed.to.deploy.anywhere", "false", "This will determine if the root admin is allowed to deploy in networks in subdomains.", true, ConfigKey.Scope.Global); + ConfigKey<Boolean> SecurityGroupDefaultAdding = new ConfigKey<>("Network", Boolean.class, "network.securitygroups.defaultadding", "true", + "If true, the user VM would be added to the default security group by default", true); + /** * Lists IP addresses that belong to VirtualNetwork VLANs * diff --git a/api/src/main/java/com/cloud/network/NetworkService.java b/api/src/main/java/com/cloud/network/NetworkService.java index c32bb711c0f..6028aeed54c 100644 --- a/api/src/main/java/com/cloud/network/NetworkService.java +++ b/api/src/main/java/com/cloud/network/NetworkService.java @@ -84,6 +84,13 @@ public interface NetworkService { "allow.end.users.to.specify.vr.mtu", "false", "Allow end Users to specify VR MTU", true, ConfigKey.Scope.Zone); + ConfigKey<Integer> GuestVlanBits = new ConfigKey<>("Network", Integer.class, "guest.vlan.bits", "12", + "The number of bits to reserve for the VLAN identifier in the guest subnet.", true); + + ConfigKey<Integer> MaxNumberOfSecondaryIPsPerNIC = new ConfigKey<>("Network", Integer.class, + "vm.network.nic.max.secondary.ipaddresses", "10", + "Specify the number of secondary ip addresses per nic per vm. Default value 10 is used, if not specified.", true); + List<? extends Network> getIsolatedNetworksOwnedByAccountInZone(long zoneId, Account owner); IpAddress allocateIP(Account ipOwner, long zoneId, Long networkId, Boolean displayIp, String ipaddress) throws ResourceAllocationException, InsufficientAddressCapacityException, diff --git a/api/src/main/java/com/cloud/network/vpn/RemoteAccessVpnService.java b/api/src/main/java/com/cloud/network/vpn/RemoteAccessVpnService.java index ffa8af4576d..00bd4b3a512 100644 --- a/api/src/main/java/com/cloud/network/vpn/RemoteAccessVpnService.java +++ b/api/src/main/java/com/cloud/network/vpn/RemoteAccessVpnService.java @@ -20,6 +20,7 @@ import java.util.List; import org.apache.cloudstack.api.command.user.vpn.ListRemoteAccessVpnsCmd; import org.apache.cloudstack.api.command.user.vpn.ListVpnUsersCmd; +import org.apache.cloudstack.framework.config.ConfigKey; import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.ResourceUnavailableException; @@ -31,6 +32,12 @@ import com.cloud.utils.Pair; public interface RemoteAccessVpnService { static final String RemoteAccessVpnClientIpRangeCK = "remote.access.vpn.client.iprange"; + ConfigKey<Integer> RemoteAccessVpnPskLength = new ConfigKey<>("Network", Integer.class, "remote.access.vpn.psk.length", "24", + "The length of the ipsec preshared key (minimum 8, maximum 256)", true); + + ConfigKey<Integer> RemoteAccessVpnUserLimit = new ConfigKey<>("Network", Integer.class, "remote.access.vpn.user.limit", "8", + "The maximum number of VPN users that can be created per account", true); + RemoteAccessVpn createRemoteAccessVpn(long vpnServerAddressId, String ipRange, boolean openFirewall, Boolean forDisplay) throws NetworkRuleConflictException; boolean destroyRemoteAccessVpnForIp(long ipId, Account caller, boolean forceCleanup) throws ResourceUnavailableException; 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 109a44488ec..992f4adea83 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 @@ -138,6 +138,23 @@ public interface NetworkOrchestrationService { 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); + ConfigKey<String> NetworkLBHaproxyStatsVisbility = new ConfigKey<>("Network", String.class, + "network.loadbalancer.haproxy.stats.visibility", "global", + "Load Balancer(haproxy) stats visibility, the value can be one of the following six parameters : global,guest-network,link-local,disabled,all,default", + true, ConfigKey.Kind.Select, "global,guest-network,link-local,disabled,all,default"); + + ConfigKey<String> NetworkLBHaproxyStatsUri = new ConfigKey<>("Network", String.class, + "network.loadbalancer.haproxy.stats.uri", "/admin?stats", + "Load Balancer(haproxy) uri.", true); + + ConfigKey<String> NetworkLBHaproxyStatsAuth = new ConfigKey<>("Secure", String.class, + "network.loadbalancer.haproxy.stats.auth", "admin1:AdMiN123", + "Load Balancer(haproxy) authentication string in the format username:password", true); + + ConfigKey<String> NetworkLBHaproxyStatsPort = new ConfigKey<>("Network", String.class, + "network.loadbalancer.haproxy.stats.port", "8081", + "Load Balancer(haproxy) stats port number.", true); + List<? extends Network> setupNetwork(Account owner, NetworkOffering offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException; diff --git a/engine/components-api/src/main/java/com/cloud/network/security/SecurityGroupManager.java b/engine/components-api/src/main/java/com/cloud/network/security/SecurityGroupManager.java index 6e2270ffb10..5167a396e2e 100644 --- a/engine/components-api/src/main/java/com/cloud/network/security/SecurityGroupManager.java +++ b/engine/components-api/src/main/java/com/cloud/network/security/SecurityGroupManager.java @@ -19,6 +19,8 @@ package com.cloud.network.security; import java.util.HashMap; import java.util.List; +import org.apache.cloudstack.framework.config.ConfigKey; + import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; @@ -33,6 +35,23 @@ public interface SecurityGroupManager { public static final int TIME_BETWEEN_CLEANUPS = 60; public static final int WORKER_THREAD_COUNT = 10; + ConfigKey<Integer> SecurityGroupWorkCleanupInterval = new ConfigKey<>("Network", Integer.class, + "network.securitygroups.work.cleanup.interval", "120", + "Time interval (seconds) in which finished work is cleaned up from the work table", true); + + ConfigKey<Integer> SecurityGroupWorkerThreads = new ConfigKey<>("Network", Integer.class, + "network.securitygroups.workers.pool.size", "50", + "Number of worker threads processing the security group update work queue", true); + + ConfigKey<Integer> SecurityGroupWorkGlobalLockTimeout = new ConfigKey<>("Network", Integer.class, + "network.securitygroups.work.lock.timeout", "300", + "Lock wait timeout (seconds) while updating the security group work queue", true); + + ConfigKey<Integer> SecurityGroupWorkPerAgentMaxQueueSize = new ConfigKey<>("Network", Integer.class, + "network.securitygroups.work.per.agent.queue.size", "100", + "The number of outstanding security group work items that can be queued to a host. If exceeded, work items will get dropped to conserve memory. " + + "Security Group Sync will take care of ensuring that the host gets updated eventually", true); + public SecurityGroupVO createSecurityGroup(String name, String description, Long domainId, Long accountId, String accountName); public SecurityGroupVO createDefaultSecurityGroup(Long accountId); 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 84a397349ce..7295f46b05a 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 @@ -5069,6 +5069,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra 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}; + NETWORK_LB_HAPROXY_IDLE_TIMEOUT, NetworkLBHaproxyStatsVisbility, NetworkLBHaproxyStatsUri, + NetworkLBHaproxyStatsAuth, NetworkLBHaproxyStatsPort}; } } diff --git a/plugins/network-elements/elastic-loadbalancer/src/main/java/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/main/java/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java index 9dc083015c3..b1a5524b760 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/main/java/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java +++ b/plugins/network-elements/elastic-loadbalancer/src/main/java/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java @@ -220,10 +220,10 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements Elast cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, elbVm.getInstanceName()); //FIXME: why are we setting attributes directly? Ick!! There should be accessors and //the constructor should set defaults. - cmd.lbStatsVisibility = _configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); - cmd.lbStatsUri = _configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); - cmd.lbStatsAuth = _configDao.getValue(Config.NetworkLBHaproxyStatsAuth.key()); - cmd.lbStatsPort = _configDao.getValue(Config.NetworkLBHaproxyStatsPort.key()); + cmd.lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.value(); + cmd.lbStatsUri = NetworkOrchestrationService.NetworkLBHaproxyStatsUri.value(); + cmd.lbStatsAuth = NetworkOrchestrationService.NetworkLBHaproxyStatsAuth.value(); + cmd.lbStatsPort = NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value(); cmds.addCommand(cmd); diff --git a/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java index cda139b5a62..ab938837053 100644 --- a/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java +++ b/plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java @@ -516,10 +516,10 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In internalLbVm.getHypervisorType()), internalLbVm.getVpcId(), maxconn, offering.isKeepAliveEnabled(), NetworkOrchestrationService.NETWORK_LB_HAPROXY_IDLE_TIMEOUT.value()); - cmd.lbStatsVisibility = _configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); - cmd.lbStatsUri = _configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); - cmd.lbStatsAuth = _configDao.getValue(Config.NetworkLBHaproxyStatsAuth.key()); - cmd.lbStatsPort = _configDao.getValue(Config.NetworkLBHaproxyStatsPort.key()); + cmd.lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.value(); + cmd.lbStatsUri = NetworkOrchestrationService.NetworkLBHaproxyStatsUri.value(); + cmd.lbStatsAuth = NetworkOrchestrationService.NetworkLBHaproxyStatsAuth.value(); + cmd.lbStatsPort = NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value(); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getInternalLbControlIp(internalLbVm.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, guestNic.getIPv4Address()); diff --git a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenElement.java b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenElement.java index 1f4f98194dc..d4178af1540 100644 --- a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenElement.java +++ b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenElement.java @@ -25,7 +25,6 @@ import com.cloud.agent.api.Command; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.api.ApiDBUtils; -import com.cloud.configuration.Config; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.HostPodVO; @@ -105,7 +104,7 @@ import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.VMInstanceDao; import com.google.gson.Gson; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.PublishScope; import org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenNetworkPolicyCommand; @@ -180,8 +179,6 @@ public class TungstenElement extends AdapterBase @Inject AgentManager agentMgr; @Inject - ConfigurationDao configDao; - @Inject VlanDao vlanDao; @Inject HostDao hostDao; @@ -436,11 +433,11 @@ public class TungstenElement extends AdapterBase // update haproxy TungstenCommand updateTungstenLoadBalancerPoolCommand; - String lbStatsVisibility = configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); + String lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.value(); if (!lbStatsVisibility.equals("disabled")) { - String lbStatsUri = configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); - String lbStatsAuth = configDao.getValue(Config.NetworkLBHaproxyStatsAuth.key()); - String lbStatsPort = configDao.getValue(Config.NetworkLBHaproxyStatsPort.key()); + String lbStatsUri = NetworkOrchestrationService.NetworkLBHaproxyStatsUri.value(); + String lbStatsAuth = NetworkOrchestrationService.NetworkLBHaproxyStatsAuth.value(); + String lbStatsPort = NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value(); updateTungstenLoadBalancerPoolCommand = new UpdateTungstenLoadBalancerPoolCommand( tungstenProjectFqn, TungstenUtils.getLoadBalancerPoolName(loadBalancingRule.getId()), TungstenUtils.getLoadBalancerAlgorithm(loadBalancingRule.getAlgorithm()), diff --git a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImpl.java b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImpl.java index 2a29b3976b0..6a74b2c6891 100644 --- a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImpl.java +++ b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImpl.java @@ -20,7 +20,6 @@ import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.api.ApiDBUtils; -import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterIpAddressVO; @@ -118,7 +117,7 @@ import net.juniper.tungsten.api.types.VirtualNetwork; import org.apache.cloudstack.acl.ApiKeyPairVO; import org.apache.cloudstack.api.BaseResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.network.tungsten.agent.api.AddTungstenNetworkGatewayToLogicalRouterCommand; import org.apache.cloudstack.network.tungsten.agent.api.AddTungstenNetworkSubnetCommand; @@ -242,8 +241,6 @@ public class TungstenServiceImpl extends ManagerBase implements TungstenService @Inject protected NetworkDao networkDao; @Inject - protected ConfigurationDao configDao; - @Inject protected AccountManager accountMgr; @Inject protected IPAddressDao ipAddressDao; @@ -1126,11 +1123,11 @@ public class TungstenServiceImpl extends ManagerBase implements TungstenService private boolean updateHaproxyStats(List<HostVO> hostList, String lbUuid) { // update haproxy stats - String lbStatsVisibility = configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); + String lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.value(); if (!lbStatsVisibility.equals("disabled")) { - String lbStatsUri = configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); - String lbStatsAuth = configDao.getValue(Config.NetworkLBHaproxyStatsAuth.key()); - String lbStatsPort = configDao.getValue(Config.NetworkLBHaproxyStatsPort.key()); + String lbStatsUri = NetworkOrchestrationService.NetworkLBHaproxyStatsUri.value(); + String lbStatsAuth = NetworkOrchestrationService.NetworkLBHaproxyStatsAuth.value(); + String lbStatsPort = NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value(); UpdateTungstenLoadbalancerStatsCommand updateTungstenLoadbalancerStatsCommand = new UpdateTungstenLoadbalancerStatsCommand(lbUuid, lbStatsPort, lbStatsUri, lbStatsAuth); for (HostVO host : hostList) { diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java index bad21464602..32ef1237be4 100644 --- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java +++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java @@ -32,7 +32,6 @@ import static org.mockito.Mockito.when; import com.cloud.agent.AgentManager; import com.cloud.api.ApiDBUtils; -import com.cloud.configuration.Config; import com.cloud.dc.DataCenterVO; import com.cloud.dc.HostPodVO; import com.cloud.dc.VlanVO; @@ -91,7 +90,9 @@ import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.VMInstanceDao; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; +import org.apache.cloudstack.framework.config.ConfigKey; +import org.apache.cloudstack.framework.config.impl.ConfigDepotImpl; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenNetworkPolicyCommand; import org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenPortForwardingCommand; @@ -144,8 +145,6 @@ public class TungstenElementTest { @Mock IpAddressManager ipAddressMgr; @Mock - ConfigurationDao configDao; - @Mock LoadBalancerDao lbDao; @Mock AccountManager accountMgr; @@ -199,7 +198,6 @@ public class TungstenElementTest { tungstenElement.lbVmMapDao = lbVmMapDao; tungstenElement.tungstenGuestNetworkIpAddressDao = tungstenGuestNetworkIpAddressDao; tungstenElement.ipAddressMgr = ipAddressMgr; - tungstenElement.configDao = configDao; tungstenElement.lbDao = lbDao; tungstenElement.accountMgr = accountMgr; tungstenElement.hostDao = hostDao; @@ -383,7 +381,6 @@ public class TungstenElementTest { when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer); when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer); when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer); - when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled"); when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true); when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString"); when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO); @@ -432,11 +429,18 @@ public class TungstenElementTest { when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer); when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer); when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer); - when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled"); + ConfigDepotImpl configDepotMock = Mockito.mock(ConfigDepotImpl.class); + ConfigKey.init(configDepotMock); + Mockito.when(configDepotMock.getConfigStringValue(Mockito.eq(NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.key()), Mockito.any(), Mockito.any())) + .thenReturn("disabled"); when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO); when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer); - assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1)); + try { + assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1)); + } finally { + ConfigKey.init(null); + } } @Test diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java index 38539d8b6c5..791f95b4415 100644 --- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java +++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java @@ -30,7 +30,6 @@ import static org.mockito.Mockito.when; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; -import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterIpAddressVO; @@ -123,7 +122,6 @@ import net.juniper.tungsten.api.types.TagType; import net.juniper.tungsten.api.types.VirtualMachine; import net.juniper.tungsten.api.types.VirtualMachineInterface; import net.juniper.tungsten.api.types.VirtualNetwork; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.MessageSubscriber; import org.apache.cloudstack.network.tungsten.agent.api.AddTungstenNetworkGatewayToLogicalRouterCommand; @@ -228,8 +226,6 @@ public class TungstenServiceImplTest { @Mock NetworkDao networkDao; @Mock - ConfigurationDao configDao; - @Mock IPAddressDao ipAddressDao; @Mock EntityManager entityMgr; @@ -293,7 +289,6 @@ public class TungstenServiceImplTest { tungstenService.networkDetailsDao = networkDetailsDao; tungstenService.agentMgr = agentMgr; tungstenService.hostDao = hostDao; - tungstenService.configDao = configDao; tungstenService.fwRulesDao = fwRulesDao; tungstenService.lbCertMapDao = lbCertMapDao; tungstenService.entityMgr = entityMgr; @@ -665,7 +660,6 @@ public class TungstenServiceImplTest { when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer); when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true); when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true); - when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled"); when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO)); when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO); when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO); diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java index 4873d96d79a..e72834a3996 100644 --- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java @@ -261,6 +261,7 @@ import com.cloud.network.element.NsxProviderVO; import com.cloud.network.netris.NetrisService; import com.cloud.network.rules.LoadBalancerContainer.Scheme; import com.cloud.network.vpc.VpcManager; +import com.cloud.network.vpn.RemoteAccessVpnService; import com.cloud.offering.DiskOffering; import com.cloud.offering.NetworkOffering; import com.cloud.offering.NetworkOffering.Availability; @@ -620,7 +621,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati configValuesForValidation.add("externaldhcp.vmip.retrieval.interval"); configValuesForValidation.add("externaldhcp.vmip.max.retry"); configValuesForValidation.add("externaldhcp.vmipFetch.threadPool.max"); - configValuesForValidation.add("remote.access.vpn.psk.length"); + configValuesForValidation.add(RemoteAccessVpnService.RemoteAccessVpnPskLength.key()); configValuesForValidation.add(StorageManager.STORAGE_POOL_DISK_WAIT.key()); configValuesForValidation.add(StorageManager.STORAGE_POOL_CLIENT_TIMEOUT.key()); configValuesForValidation.add(StorageManager.STORAGE_POOL_CLIENT_MAX_CONNECTIONS.key()); @@ -1541,7 +1542,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati if ("vm.password.length".equalsIgnoreCase(name) && val < 6) { return String.format("Please enter a value greater than 5 for the configuration parameter: [%s].", name); } - if ("remote.access.vpn.psk.length".equalsIgnoreCase(name) && (val < 8 || val > 256)) { + if (RemoteAccessVpnService.RemoteAccessVpnPskLength.key().equalsIgnoreCase(name) && (val < 8 || val > 256)) { return String.format("Please enter a value greater than 7 and less than 257 for the configuration parameter: [%s].", name); } if (UserDataManager.VM_USERDATA_MAX_LENGTH_STRING.equalsIgnoreCase(name) && val > 1048576) { diff --git a/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java b/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java index ca108749f01..819e58fd9da 100644 --- a/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java @@ -776,8 +776,7 @@ public abstract class ExternalFirewallDeviceManagerImpl extends AdapterBase impl public int getGloballyConfiguredCidrSize() { try { - String globalVlanBits = _configDao.getValue(Config.GuestVlanBits.key()); - return 8 + Integer.parseInt(globalVlanBits); + return 8 + NetworkService.GuestVlanBits.value(); } catch (Exception e) { throw new CloudRuntimeException("Failed to read the globally configured VLAN bits size."); } diff --git a/server/src/main/java/com/cloud/network/NetworkModelImpl.java b/server/src/main/java/com/cloud/network/NetworkModelImpl.java index f47046cdc43..f3c26739b03 100644 --- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java @@ -1836,8 +1836,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi @Override public boolean canAddDefaultSecurityGroup() { - String defaultAdding = _configDao.getValue(Config.SecurityGroupDefaultAdding.key()); - return (defaultAdding != null && defaultAdding.equalsIgnoreCase("true")); + return SecurityGroupDefaultAdding.value(); } @Override @@ -3010,7 +3009,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi @Override public ConfigKey<?>[] getConfigKeys() { - return new ConfigKey<?>[] {MACIdentifier, AdminIsAllowedToDeployAnywhere}; + return new ConfigKey<?>[] {MACIdentifier, AdminIsAllowedToDeployAnywhere, SecurityGroupDefaultAdding}; } @Override diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index 2853fa96330..a273c4079a9 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -923,7 +923,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C throw new InvalidParameterValueException("Invalid Network id is given"); } - int maxAllowedIpsPerNic = NumbersUtil.parseInt(_configDao.getValue(Config.MaxNumberOfSecondaryIPsPerNIC.key()), Integer.parseInt(Config.MaxNumberOfSecondaryIPsPerNIC.getDefaultValue())); + int maxAllowedIpsPerNic = MaxNumberOfSecondaryIPsPerNIC.value(); Long nicWiseIpCount = _nicSecondaryIpDao.countByNicId(nicId); if (nicWiseIpCount.intValue() >= maxAllowedIpsPerNic) { logger.error("Maximum Number of IPs \"vm.network.nic.max.secondary.ipaddresses = \"{} per NIC has been crossed for the NIC {}.", maxAllowedIpsPerNic, nicVO); @@ -1367,8 +1367,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C Integer highestVlanTag = vlanRange.second(); for (int vlan = lowestVlanTag; vlan <= highestVlanTag; ++vlan) { int offset = vlan - lowestVlanTag; - String globalVlanBits = _configDao.getValue(Config.GuestVlanBits.key()); - int cidrSize = 8 + Integer.parseInt(globalVlanBits); + int cidrSize = 8 + GuestVlanBits.value(); String guestNetworkCidr = zone.getGuestNetworkCidr(); String[] cidrTuple = guestNetworkCidr.split("\\/"); long newCidrAddress = (NetUtils.ip2Long(cidrTuple[0]) & 0xff000000) | (offset << (32 - cidrSize)); @@ -6313,7 +6312,8 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C @Override public ConfigKey<?>[] getConfigKeys() { - return new ConfigKey<?>[] {AllowDuplicateNetworkName, AllowEmptyStartEndIpAddress, AllowUsersToMakeNetworksRedundant, VRPrivateInterfaceMtu, VRPublicInterfaceMtu, AllowUsersToSpecifyVRMtu}; + return new ConfigKey<?>[] {AllowDuplicateNetworkName, AllowEmptyStartEndIpAddress, AllowUsersToMakeNetworksRedundant, VRPrivateInterfaceMtu, VRPublicInterfaceMtu, AllowUsersToSpecifyVRMtu, + GuestVlanBits, MaxNumberOfSecondaryIPsPerNIC}; } public boolean isDefaultAcl(Long aclId) { diff --git a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java index 39b9a32e48e..9c3de03446d 100644 --- a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java @@ -36,7 +36,6 @@ import org.apache.cloudstack.network.Ipv4GuestSubnetNetworkMap; import org.apache.cloudstack.network.RoutedIpv4Manager; import org.apache.commons.lang3.StringUtils; -import com.cloud.configuration.Config; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.dao.DataCenterDao; @@ -58,6 +57,7 @@ import com.cloud.network.Network.Service; import com.cloud.network.Network.State; import com.cloud.network.NetworkModel; import com.cloud.network.NetworkProfile; +import com.cloud.network.NetworkService; import com.cloud.network.Networks; import com.cloud.network.Networks.AddressFormat; import com.cloud.network.Networks.BroadcastDomainType; @@ -353,8 +353,7 @@ public abstract class GuestNetworkGuru extends AdapterBase implements NetworkGur public int getGloballyConfiguredCidrSize() { try { - final String globalVlanBits = _configDao.getValue(Config.GuestVlanBits.key()); - return 8 + Integer.parseInt(globalVlanBits); + return 8 + NetworkService.GuestVlanBits.value(); } catch (final Exception e) { throw new CloudRuntimeException("Failed to read the globally configured VLAN bits size."); } diff --git a/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java b/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java index 58b2892e09c..e861cfc7bb5 100644 --- a/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java +++ b/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java @@ -403,10 +403,10 @@ public class CommandSetupHelper { router.getPrivateIpAddress(), _itMgr.toNicTO(nicProfile, router.getHypervisorType()), router.getVpcId(), maxconn, offering.isKeepAliveEnabled(), NetworkOrchestrationService.NETWORK_LB_HAPROXY_IDLE_TIMEOUT.value()); - cmd.lbStatsVisibility = _configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); - cmd.lbStatsUri = _configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); - cmd.lbStatsAuth = _configDao.getValue(Config.NetworkLBHaproxyStatsAuth.key()); - cmd.lbStatsPort = _configDao.getValue(Config.NetworkLBHaproxyStatsPort.key()); + cmd.lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisbility.value(); + cmd.lbStatsUri = NetworkOrchestrationService.NetworkLBHaproxyStatsUri.value(); + cmd.lbStatsAuth = NetworkOrchestrationService.NetworkLBHaproxyStatsAuth.value(); + cmd.lbStatsPort = NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value(); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, _routerControlHelper.getRouterIpInNetwork(guestNetworkId, router.getId())); diff --git a/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java b/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java index 56534a8ee7d..6f48284d3de 100644 --- a/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java +++ b/server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java @@ -48,7 +48,6 @@ import com.cloud.agent.api.to.NicTO; import com.cloud.agent.manager.Commands; import com.cloud.alert.AlertManager; import com.cloud.capacity.CapacityManager; -import com.cloud.configuration.Config; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.Pod; @@ -950,7 +949,7 @@ public class NetworkHelperImpl implements NetworkHelper { @Override public boolean validateHAProxyLBRule(final LoadBalancingRule rule) { final String timeEndChar = "dhms"; - int haproxy_stats_port = Integer.parseInt(_configDao.getValue(Config.NetworkLBHaproxyStatsPort.key())); + int haproxy_stats_port = Integer.parseInt(NetworkOrchestrationService.NetworkLBHaproxyStatsPort.value()); if (rule.getSourcePortStart() == haproxy_stats_port) { if (logger.isDebugEnabled()) { logger.debug("Can't create LB on port "+ haproxy_stats_port +", haproxy is listening for LB stats on this port"); diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java index 8ef77d3fb32..7db9674d652 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java @@ -73,6 +73,12 @@ public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkA ConfigKey<Boolean> SetServiceMonitor = new ConfigKey<>(Boolean.class, SetServiceMonitorCK, "Advanced", "true", "service monitoring in router enable/disable option, default true", true, ConfigKey.Scope.Zone, null); + ConfigKey<Boolean> NetworkRouterRpFilter = new ConfigKey<>("Network", Boolean.class, "network.disable.rpfilter", "true", + "disable rp_filter on Domain Router VM public interfaces.", true); + + ConfigKey<Boolean> EnableServiceMonitoring = new ConfigKey<>("Network", Boolean.class, "network.router.enableserviceMonitoring", "false", + "service monitoring in router enable/disable option, default false", true); + ConfigKey<Integer> RouterAlertsCheckInterval = new ConfigKey<>(Integer.class, RouterAlertsCheckIntervalCK, "Advanced", "1800", "Interval (in seconds) to check for alerts in Virtual Router.", false, ConfigKey.Scope.Global, null); ConfigKey<Boolean> RouterVersionCheckEnabled = new ConfigKey<>("Advanced", Boolean.class, "router.version.check", "true", diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 53c44e16d0b..004d4ca73e1 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -577,10 +577,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM NetworkHelperImpl.setVMInstanceName(instance); - final String rpValue = configs.get("network.disable.rpfilter"); - if (rpValue != null && rpValue.equalsIgnoreCase("true")) { - _disableRpFilter = true; - } + _disableRpFilter = NetworkRouterRpFilter.value(); _dnsBasicZoneUpdates = String.valueOf(_configDao.getValue(Config.DnsBasicZoneUpdates.key())); @@ -2002,8 +1999,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM throw new CloudRuntimeException("Didn't start a control port"); } - final String rpValue = _configDao.getValue(Config.NetworkRouterRpFilter.key()); - _disableRpFilter = rpValue != null && rpValue.equalsIgnoreCase("true"); + _disableRpFilter = NetworkRouterRpFilter.value(); String rpFilter = " "; String type; @@ -2359,8 +2355,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM return; } - final String serviceMonitoringSet = _configDao.getValue(Config.EnableServiceMonitoring.key()); - final boolean isMonitoringServicesEnabled = serviceMonitoringSet != null && serviceMonitoringSet.equalsIgnoreCase("true"); + final boolean isMonitoringServicesEnabled = EnableServiceMonitoring.value(); final NetworkVO network = _networkDao.findById(networkId); logger.debug("Creating monitoring services on " + router + " start..."); @@ -3384,7 +3379,9 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM ExposeDnsAndBootpServer, RouterLogrotateFrequency, RemoveControlIpOnStop, - VirtualRouterUserData + VirtualRouterUserData, + NetworkRouterRpFilter, + EnableServiceMonitoring }; } diff --git a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java index 585b65aa4d9..94d6765a86a 100644 --- a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -48,6 +48,8 @@ import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupI import org.apache.cloudstack.api.command.user.securitygroup.UpdateSecurityGroupCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; +import org.apache.cloudstack.framework.config.ConfigKey; +import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.PublishScope; @@ -63,7 +65,6 @@ import com.cloud.agent.api.SecurityGroupRulesCmd; import com.cloud.agent.api.SecurityGroupRulesCmd.IpPortAndProto; import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.agent.manager.Commands; -import com.cloud.configuration.Config; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; @@ -92,7 +93,6 @@ import com.cloud.user.AccountManager; import com.cloud.user.DomainManager; import com.cloud.user.dao.AccountDao; import com.cloud.uservm.UserVm; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; @@ -124,7 +124,7 @@ import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; -public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGroupManager, SecurityGroupService, StateListener<State, VirtualMachine.Event, VirtualMachine> { +public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGroupManager, SecurityGroupService, StateListener<State, VirtualMachine.Event, VirtualMachine>, Configurable { @Inject SecurityGroupDao _securityGroupDao; @@ -944,10 +944,9 @@ public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGro @Override public boolean configure(String name, Map<String, Object> params) throws ConfigurationException { - Map<String, String> configs = _configDao.getConfiguration("Network", params); - _numWorkerThreads = NumbersUtil.parseInt(configs.get(Config.SecurityGroupWorkerThreads.key()), WORKER_THREAD_COUNT); - _timeBetweenCleanups = NumbersUtil.parseInt(configs.get(Config.SecurityGroupWorkCleanupInterval.key()), TIME_BETWEEN_CLEANUPS); - _globalWorkLockTimeout = NumbersUtil.parseInt(configs.get(Config.SecurityGroupWorkGlobalLockTimeout.key()), 300); + _numWorkerThreads = SecurityGroupWorkerThreads.value(); + _timeBetweenCleanups = SecurityGroupWorkCleanupInterval.value(); + _globalWorkLockTimeout = SecurityGroupWorkGlobalLockTimeout.value(); /* register state listener, no matter security group is enabled or not */ VirtualMachine.State.getStateMachine().registerListener(this); @@ -1488,4 +1487,14 @@ public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGro return true; } + + @Override + public String getConfigComponentName() { + return SecurityGroupManager.class.getSimpleName(); + } + + @Override + public ConfigKey<?>[] getConfigKeys() { + return new ConfigKey<?>[] {SecurityGroupWorkCleanupInterval, SecurityGroupWorkerThreads, SecurityGroupWorkGlobalLockTimeout, SecurityGroupWorkPerAgentMaxQueueSize}; + } } diff --git a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl2.java b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl2.java index bd532f8162f..e96fa5595bf 100644 --- a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl2.java +++ b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl2.java @@ -31,13 +31,11 @@ import org.apache.cloudstack.managed.context.ManagedContext; import com.cloud.agent.api.SecurityGroupRulesCmd; import com.cloud.agent.manager.Commands; -import com.cloud.configuration.Config; import com.cloud.exception.AgentUnavailableException; import com.cloud.network.Networks; import com.cloud.network.security.SecurityGroupWork.Step; import com.cloud.network.security.SecurityRule.SecurityRuleType; import com.cloud.uservm.UserVm; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Profiler; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.mgmt.JmxUtil; @@ -282,8 +280,7 @@ public class SecurityGroupManagerImpl2 extends SecurityGroupManagerImpl { logger.error("Failed to register MBean", e); } boolean result = super.configure(name, params); - Map<String, String> configs = _configDao.getConfiguration("Network", params); - int bufferLength = NumbersUtil.parseInt(configs.get(Config.SecurityGroupWorkPerAgentMaxQueueSize.key()), 100); + int bufferLength = SecurityGroupWorkPerAgentMaxQueueSize.value(); _workTracker = new SecurityGroupWorkTracker(_agentMgr, _answerListener, bufferLength); _answerListener.setWorkDispatcher(_workTracker); return result; diff --git a/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java b/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java index 24c2f2221d9..ae17273a6a6 100644 --- a/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java +++ b/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java @@ -810,11 +810,9 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc @Override public boolean configure(String name, Map<String, Object> params) throws ConfigurationException { - Map<String, String> configs = _configDao.getConfiguration(params); + _userLimit = RemoteAccessVpnUserLimit.value(); - _userLimit = NumbersUtil.parseInt(configs.get(Config.RemoteAccessVpnUserLimit.key()), 8); - - _pskLength = NumbersUtil.parseInt(configs.get(Config.RemoteAccessVpnPskLength.key()), 24); + _pskLength = RemoteAccessVpnPskLength.value(); validateRemoteAccessVpnConfiguration(); @@ -859,7 +857,7 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc @Override public ConfigKey<?>[] getConfigKeys() { - return new ConfigKey<?>[] {RemoteAccessVpnClientIpRange}; + return new ConfigKey<?>[] {RemoteAccessVpnClientIpRange, RemoteAccessVpnPskLength, RemoteAccessVpnUserLimit}; } public List<RemoteAccessVPNServiceProvider> getVpnServiceProviders() {
