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 47ee4fd2eda4521c46e88347e9466fda6e1ebfb4 Author: Daan Hoogland <[email protected]> AuthorDate: Fri Aug 14 14:58:41 2026 +0200 move remote access related configuration items from deprecated Config enum to services --- .../com/cloud/network/ovs/OvsTunnelManager.java | 6 + .../cloud/network/ovs/OvsTunnelManagerImpl.java | 17 ++- .../main/java/com/cloud/configuration/Config.java | 144 --------------------- .../network/vpn/RemoteAccessVpnManagerImpl.java | 2 - .../com/cloud/network/vpn/Site2SiteVpnManager.java | 11 ++ .../cloud/network/vpn/Site2SiteVpnManagerImpl.java | 9 +- 6 files changed, 34 insertions(+), 155 deletions(-) diff --git a/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManager.java b/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManager.java index cd881363ec3..1c3382f187e 100644 --- a/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManager.java +++ b/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManager.java @@ -16,12 +16,18 @@ // under the License. package com.cloud.network.ovs; +import org.apache.cloudstack.framework.config.ConfigKey; + import com.cloud.host.Host; import com.cloud.network.Network; import com.cloud.utils.component.Manager; public interface OvsTunnelManager extends Manager { + ConfigKey<String> OvsTunnelNetworkDefaultLabel = new ConfigKey<>("Network", String.class, + "sdn.ovs.controller.default.label", "cloud-public", + "Default network label to be used when fetching interface for GRE endpoints", true); + boolean isOvsTunnelEnabled(); /** diff --git a/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManagerImpl.java b/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManagerImpl.java index 804f29c01b1..c3e008698b8 100644 --- a/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManagerImpl.java +++ b/plugins/network-elements/ovs/src/main/java/com/cloud/network/ovs/OvsTunnelManagerImpl.java @@ -26,6 +26,8 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import javax.persistence.EntityExistsException; +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.MessageSubscriber; @@ -45,7 +47,6 @@ import com.cloud.agent.api.OvsSetupBridgeCommand; import com.cloud.agent.api.OvsVpcPhysicalTopologyConfigCommand; import com.cloud.agent.api.OvsVpcRoutingPolicyConfigCommand; import com.cloud.agent.manager.Commands; -import com.cloud.configuration.Config; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; import com.cloud.host.Host; @@ -91,7 +92,7 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.VMInstanceDao; @Component -public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManager, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualMachine> { +public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManager, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualMachine>, Configurable { // boolean _isEnabled; ScheduledExecutorService _executorPool; @@ -234,7 +235,7 @@ public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManage throws AgentUnavailableException, OperationTimedoutException { String endpointIp = null; // Fetch fefault name for network label from configuration - String physNetLabel = _configDao.getValue(Config.OvsTunnelNetworkDefaultLabel.key()); + String physNetLabel = OvsTunnelNetworkDefaultLabel.value(); Long physNetId = nw.getPhysicalNetworkId(); PhysicalNetworkTrafficType physNetTT = _physNetTTDao.findBy(physNetId, TrafficType.Guest); @@ -930,4 +931,14 @@ public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManage } } + + @Override + public String getConfigComponentName() { + return OvsTunnelManager.class.getSimpleName(); + } + + @Override + public ConfigKey<?>[] getConfigKeys() { + return new ConfigKey<?>[] {OvsTunnelNetworkDefaultLabel}; + } } diff --git a/server/src/main/java/com/cloud/configuration/Config.java b/server/src/main/java/com/cloud/configuration/Config.java index 911457d67bb..08ffca8e9ed 100644 --- a/server/src/main/java/com/cloud/configuration/Config.java +++ b/server/src/main/java/com/cloud/configuration/Config.java @@ -76,57 +76,6 @@ public enum Config { null), // Network - NetworkLBHaproxyStatsVisbility( - "Network", - ManagementServer.class, - 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", - null, - ConfigKey.Kind.Select, - "global,guest-network,link-local,disabled,all,default"), - NetworkLBHaproxyStatsUri( - "Network", - ManagementServer.class, - String.class, - "network.loadbalancer.haproxy.stats.uri", - "/admin?stats", - "Load Balancer(haproxy) uri.", - null), - NetworkLBHaproxyStatsAuth( - "Secure", - ManagementServer.class, - String.class, - "network.loadbalancer.haproxy.stats.auth", - "admin1:AdMiN123", - "Load Balancer(haproxy) authentication string in the format username:password", - null), - NetworkLBHaproxyStatsPort( - "Network", - ManagementServer.class, - String.class, - "network.loadbalancer.haproxy.stats.port", - "8081", - "Load Balancer(haproxy) stats port number.", - null), - NetworkRouterRpFilter( - "Network", - ManagementServer.class, - Boolean.class, - "network.disable.rpfilter", - "true", - "disable rp_filter on Domain Router VM public interfaces.", - null), - - GuestVlanBits( - "Network", - ManagementServer.class, - Integer.class, - "guest.vlan.bits", - "12", - "The number of bits to reserve for the VLAN identifier in the guest subnet.", - null), //MulticastThrottlingRate("Network", ManagementServer.class, Integer.class, "multicast.throttling.rate", "10", "Default multicast rate in megabits per second allowed.", null), DirectNetworkNoDefaultRoute( "Network", @@ -136,55 +85,6 @@ public enum Config { "false", "Direct Network Dhcp Server should not send a default route", "true/false"), - OvsTunnelNetworkDefaultLabel( - "Network", - ManagementServer.class, - String.class, - "sdn.ovs.controller.default.label", - "cloud-public", - "Default network label to be used when fetching interface for GRE endpoints", - null), - SecurityGroupWorkCleanupInterval( - "Network", - ManagementServer.class, - Integer.class, - "network.securitygroups.work.cleanup.interval", - "120", - "Time interval (seconds) in which finished work is cleaned up from the work table", - null), - SecurityGroupWorkerThreads( - "Network", - ManagementServer.class, - Integer.class, - "network.securitygroups.workers.pool.size", - "50", - "Number of worker threads processing the security group update work queue", - null), - SecurityGroupWorkGlobalLockTimeout( - "Network", - ManagementServer.class, - Integer.class, - "network.securitygroups.work.lock.timeout", - "300", - "Lock wait timeout (seconds) while updating the security group work queue", - null), - SecurityGroupWorkPerAgentMaxQueueSize( - "Network", - ManagementServer.class, - 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", - null), - - SecurityGroupDefaultAdding( - "Network", - ManagementServer.class, - Boolean.class, - "network.securitygroups.defaultadding", - "true", - "If true, the user VM would be added to the default security group by default", - null), GuestOSNeedGatewayOnNonDefaultNetwork( "Network", @@ -197,50 +97,6 @@ public enum Config { ConfigKey.Kind.CSV, null), - //VPN - RemoteAccessVpnPskLength( - "Network", - AgentManager.class, - Integer.class, - "remote.access.vpn.psk.length", - "24", - "The length of the ipsec preshared key (minimum 8, maximum 256)", - null), - RemoteAccessVpnUserLimit( - "Network", - AgentManager.class, - String.class, - "remote.access.vpn.user.limit", - "8", - "The maximum number of VPN users that can be created per account", - null), - Site2SiteVpnConnectionPerVpnGatewayLimit( - "Network", - ManagementServer.class, - Integer.class, - "site2site.vpn.vpngateway.connection.limit", - "4", - "The maximum number of VPN connection per VPN gateway", - null), - Site2SiteVpnSubnetsPerCustomerGatewayLimit( - "Network", - ManagementServer.class, - Integer.class, - "site2site.vpn.customergateway.subnets.limit", - "10", - "The maximum number of subnets per customer gateway", - null), - MaxNumberOfSecondaryIPsPerNIC( - "Network", ManagementServer.class, 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.", null), - - EnableServiceMonitoring( - "Network", ManagementServer.class, Boolean.class, - "network.router.enableserviceMonitoring", "false", - "service monitoring in router enable/disable option, default false", null), - - // Advanced EventPurgeInterval( "Advanced", 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 ae17273a6a6..8ecdff5785c 100644 --- a/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java +++ b/server/src/main/java/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java @@ -35,7 +35,6 @@ import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.commons.collections.CollectionUtils; -import com.cloud.configuration.Config; import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; @@ -75,7 +74,6 @@ import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.DomainManager; import com.cloud.user.dao.AccountDao; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.PasswordGenerator; import com.cloud.utils.Ternary; diff --git a/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManager.java b/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManager.java index 9cf604f8507..3dc47d68aa9 100644 --- a/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManager.java +++ b/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManager.java @@ -19,11 +19,22 @@ package com.cloud.network.vpn; import java.util.List; import java.util.Set; +import org.apache.cloudstack.framework.config.ConfigKey; + import com.cloud.network.Site2SiteCustomerGateway; import com.cloud.network.dao.Site2SiteVpnConnectionVO; import com.cloud.vm.DomainRouterVO; public interface Site2SiteVpnManager extends Site2SiteVpnService { + + ConfigKey<Integer> Site2SiteVpnConnectionPerVpnGatewayLimit = new ConfigKey<>("Network", Integer.class, + "site2site.vpn.vpngateway.connection.limit", "4", + "The maximum number of VPN connection per VPN gateway", true); + + ConfigKey<Integer> Site2SiteVpnSubnetsPerCustomerGatewayLimit = new ConfigKey<>("Network", Integer.class, + "site2site.vpn.customergateway.subnets.limit", "10", + "The maximum number of subnets per customer gateway", true); + Set<String> getExcludedVpnGatewayParameters(Site2SiteCustomerGateway customerGw); Set<String> getObsoleteVpnGatewayParameters(Site2SiteCustomerGateway customerGw); diff --git a/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java index 47362feb4d1..8d4add175fc 100644 --- a/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java +++ b/server/src/main/java/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java @@ -55,7 +55,6 @@ import org.apache.cloudstack.managed.context.ManagedContextRunnable; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.alert.AlertManager; -import com.cloud.configuration.Config; import com.cloud.event.ActionEvent; import com.cloud.event.ActionEventUtils; import com.cloud.event.EventTypes; @@ -88,7 +87,6 @@ import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.User; import com.cloud.user.dao.AccountDao; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.StringUtils; import com.cloud.utils.Ternary; @@ -187,9 +185,8 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn @Override public boolean configure(String name, Map<String, Object> params) throws ConfigurationException { - Map<String, String> configs = _configDao.getConfiguration(params); - _connLimit = NumbersUtil.parseInt(configs.get(Config.Site2SiteVpnConnectionPerVpnGatewayLimit.key()), 4); - _subnetsLimit = NumbersUtil.parseInt(configs.get(Config.Site2SiteVpnSubnetsPerCustomerGatewayLimit.key()), 10); + _connLimit = Site2SiteVpnConnectionPerVpnGatewayLimit.value(); + _subnetsLimit = Site2SiteVpnSubnetsPerCustomerGatewayLimit.value(); assert (_s2sProviders.iterator().hasNext()) : "Did not get injected with a list of S2S providers!"; _vpnCheckExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("VpnCustomerGateway-ExcludedAndObsoleteCheck")); return true; @@ -1184,7 +1181,7 @@ public class Site2SiteVpnManagerImpl extends ManagerBase implements Site2SiteVpn return new ConfigKey<?>[] { VpnCustomerGatewayExcludedEncryptionAlgorithms, VpnCustomerGatewayExcludedHashingAlgorithms, VpnCustomerGatewayExcludedIkeVersions, VpnCustomerGatewayExcludedDhGroup, VpnCustomerGatewayObsoleteEncryptionAlgorithms, VpnCustomerGatewayObsoleteHashingAlgorithms, VpnCustomerGatewayObsoleteIkeVersions, VpnCustomerGatewayObsoleteDhGroup, - VpnCustomerGatewayObsoleteCheckInterval}; + VpnCustomerGatewayObsoleteCheckInterval, Site2SiteVpnConnectionPerVpnGatewayLimit, Site2SiteVpnSubnetsPerCustomerGatewayLimit}; } protected class CheckVpnCustomerGatewayObsoleteParametersTask extends ManagedContextRunnable {
