diff --git a/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java b/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java index 1e09e59b0473..891540c3dc10 100644 --- a/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java +++ b/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java @@ -47,7 +47,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.Scope; import org.apache.cloudstack.engine.subsystem.api.storage.StorageCacheManager; import org.apache.cloudstack.framework.async.AsyncCallFuture; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.managed.context.ManagedContextRunnable; @@ -56,9 +55,8 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import com.cloud.agent.api.to.DataObjectType; -import com.cloud.configuration.Config; import com.cloud.storage.DataStoreRole; -import com.cloud.utils.NumbersUtil; +import com.cloud.storage.StorageManager; import com.cloud.utils.component.Manager; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.GlobalLock; @@ -68,6 +66,7 @@ public class StorageCacheManagerImpl implements StorageCacheManager, Manager, Configurable { protected Logger logger = LogManager.getLogger(getClass()); + @Inject List storageCacheAllocator; @Inject @@ -78,8 +77,6 @@ public class StorageCacheManagerImpl implements StorageCacheManager, Manager, Co DataStoreManager dataStoreManager; @Inject StorageCacheReplacementAlgorithm cacheReplacementAlgorithm; - @Inject - ConfigurationDao configDao; Boolean cacheReplacementEnabled = Boolean.TRUE; int workers; ScheduledExecutorService executors; @@ -161,9 +158,9 @@ public void setRunLevel(int level) { @Override public boolean configure(String name, Map params) throws ConfigurationException { - cacheReplacementEnabled = Boolean.parseBoolean(configDao.getValue(Config.StorageCacheReplacementEnabled.key())); - cacheReplaceMentInterval = NumbersUtil.parseInt(configDao.getValue(Config.StorageCacheReplacementInterval.key()), 86400); - workers = NumbersUtil.parseInt(configDao.getValue(Config.ExpungeWorkers.key()), 10); + cacheReplacementEnabled = StorageCacheReplacementEnabled.value(); + cacheReplaceMentInterval = StorageCacheReplacementInterval.value(); + workers = StorageManager.ExpungeWorkers.value(); executors = Executors.newScheduledThreadPool(workers, new NamedThreadFactory("StorageCacheManager-cache-replacement")); return true; } diff --git a/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java b/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java index 7042ee453334..3a4c590fa5fe 100644 --- a/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java +++ b/engine/storage/cache/src/main/java/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java @@ -28,22 +28,19 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory; +import org.apache.cloudstack.engine.subsystem.api.storage.StorageCacheManager; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; -import com.cloud.configuration.Config; import com.cloud.utils.DateUtil; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.db.QueryBuilder; import com.cloud.utils.db.SearchCriteria; public class StorageCacheReplacementAlgorithmLRU implements StorageCacheReplacementAlgorithm { - @Inject - ConfigurationDao configDao; + @Inject TemplateDataFactory templateFactory; @Inject @@ -59,7 +56,7 @@ public StorageCacheReplacementAlgorithmLRU() { @PostConstruct public void initialize() { - /* Avoid using configDao at this time, we can't be sure that the database is already upgraded + /* Avoid resolving the config value at this time, we can't be sure that the database is already upgraded * and there might be fatal errors when using a dao. */ } @@ -71,7 +68,7 @@ public void setUnusedTimeInterval(Integer interval) { @Override public DataObject chooseOneToBeReplaced(DataStore store) { if (unusedTimeInterval == null) { - unusedTimeInterval = NumbersUtil.parseInt(configDao.getValue(Config.StorageCacheReplacementLRUTimeInterval.key()), 30); + unusedTimeInterval = StorageCacheManager.StorageCacheReplacementLRUTimeInterval.value(); } Calendar cal = Calendar.getInstance(); cal.setTime(DateUtil.now()); diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java index 78d720737b3e..8cb4e0c40c0e 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java @@ -79,9 +79,12 @@ import com.cloud.storage.Storage.ImageFormat; import com.cloud.storage.Storage.StoragePoolType; import com.cloud.storage.StoragePool; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.SnapshotDao; import com.cloud.storage.dao.VolumeDao; +import com.cloud.storage.snapshot.SnapshotManager; +import com.cloud.template.TemplateManager; import com.cloud.utils.NumbersUtil; import com.cloud.utils.db.DB; import com.cloud.utils.exception.CloudRuntimeException; @@ -340,8 +343,7 @@ protected Answer copyVolumeFromSnapshot(DataObject snapObj, DataObject volObj) { srcData = cacheSnapshotChain(snapshot, new ZoneScope(pool.getDataCenterId())); } - String value = configDao.getValue(Config.CreateVolumeFromSnapshotWait.toString()); - int _createVolumeFromSnapshotWait = NumbersUtil.parseInt(value, Integer.parseInt(Config.CreateVolumeFromSnapshotWait.getDefaultValue())); + int _createVolumeFromSnapshotWait = VolumeApiService.CreateVolumeFromSnapshotWait.value(); EndPoint ep = null; if (srcData.getDataStore().getRole() == DataStoreRole.Primary) { @@ -425,8 +427,7 @@ private void deleteVolumeOnSecondaryStore(DataObject objectInStore) { } protected Answer copyVolumeBetweenPools(DataObject srcData, DataObject destData) { - String value = configDao.getValue(Config.CopyVolumeWait.key()); - int _copyvolumewait = NumbersUtil.parseInt(value, Integer.parseInt(Config.CopyVolumeWait.getDefaultValue())); + int _copyvolumewait = VolumeApiService.CopyVolumeWait.value(); Scope destScope = getZoneScope(destData.getDataStore().getScope()); DataStore cacheStore = cacheMgr.getCacheStorage(destScope); @@ -741,8 +742,7 @@ public void copyAsync(DataObject srcData, DataObject destData, Host destHost, As @DB protected Answer createTemplateFromSnapshot(DataObject srcData, DataObject destData) { - String value = configDao.getValue(Config.CreatePrivateTemplateFromSnapshotWait.toString()); - int _createprivatetemplatefromsnapshotwait = NumbersUtil.parseInt(value, Integer.parseInt(Config.CreatePrivateTemplateFromSnapshotWait.getDefaultValue())); + int _createprivatetemplatefromsnapshotwait = TemplateManager.CreatePrivateTemplateFromSnapshotWait.value(); boolean needCache = false; if (needCacheStorage(srcData, destData)) { @@ -775,8 +775,7 @@ protected Answer createTemplateFromSnapshot(DataObject srcData, DataObject destD } protected Answer copySnapshot(DataObject srcData, DataObject destData) { - String value = configDao.getValue(Config.BackupSnapshotWait.toString()); - int _backupsnapshotwait = NumbersUtil.parseInt(value, Integer.parseInt(Config.BackupSnapshotWait.getDefaultValue())); + int _backupsnapshotwait = SnapshotManager.BackupSnapshotWait.value(); DataObject cacheData = null; SnapshotInfo snapshotInfo = (SnapshotInfo)srcData; diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java index 7674f1ce25a1..a98e1fa893b9 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java @@ -1608,7 +1608,7 @@ else if (volumeInfo.getFormat() == ImageFormat.OVA) { AsyncCallFuture future = _volumeService.createVolumeAsync(volumeInfo, volumeInfo.getDataStore()); - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(_configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); VolumeApiResult result = future.get(storagePoolMaxWaitSeconds, TimeUnit.SECONDS); diff --git a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index 69b40f64af19..191928d9ebca 100644 --- a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -106,7 +106,6 @@ import com.cloud.agent.api.to.StorageFilerTO; import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.alert.AlertManager; -import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; import com.cloud.dc.dao.ClusterDao; import com.cloud.event.EventTypes; @@ -138,6 +137,7 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.Volume; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.VolumeApiServiceImpl; import com.cloud.storage.Volume.State; import com.cloud.storage.VolumeDetailVO; @@ -155,7 +155,6 @@ import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.ResourceLimitService; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.db.DB; import com.cloud.utils.db.GlobalLock; @@ -669,7 +668,7 @@ public long getTemplatePoolId() { } private TemplateInfo waitForTemplateDownloaded(PrimaryDataStore store, TemplateInfo template) { - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); int sleepTime = 120; int tries = storagePoolMaxWaitSeconds / sleepTime; while (tries > 0) { @@ -705,7 +704,7 @@ protected void createBaseImageAsync(VolumeInfo volume, PrimaryDataStore dataStor AsyncCallbackDispatcher caller = AsyncCallbackDispatcher.create(this); caller.setCallback(caller.getTarget().copyBaseImageCallback(null, null)).setContext(context); - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (logger.isDebugEnabled()) { logger.debug("Acquire lock on VMTemplateStoragePool " + templatePoolRefId + " with timeout " + storagePoolMaxWaitSeconds + " seconds"); } @@ -980,7 +979,7 @@ private TemplateInfo createManagedTemplateVolume(TemplateInfo srcTemplateInfo, P // At this point, we have an entry in the DB that points to our cached template. // We need to lock it as there may be other VMs that may get started using the same template. // We want to avoid having to create multiple cache copies of the same template. - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); long templatePoolRefId = templatePoolRef.getId(); templatePoolRef = _tmpltPoolDao.acquireInLockTable(templatePoolRefId, storagePoolMaxWaitSeconds); @@ -1045,7 +1044,7 @@ public void complete(CreateCmdResult result) { private void copyTemplateToManagedTemplateVolume(TemplateInfo srcTemplateInfo, TemplateInfo templateOnPrimary, VMTemplateStoragePoolVO templatePoolRef, PrimaryDataStore destPrimaryDataStore, Host destHost) throws StorageAccessException { AsyncCallFuture copyTemplateFuture = new AsyncCallFuture<>(); - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); long templatePoolRefId = templatePoolRef.getId(); try { @@ -1432,7 +1431,7 @@ public TemplateInfo createManagedStorageTemplate(long srcTemplateId, long destDa throw new CloudRuntimeException("Unable to create managed storage template, couldn't get global lock on " + templateIdManagedPoolIdLockString); } - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (!lock.lock(storagePoolMaxWaitSeconds)) { logger.debug("Unable to create managed storage template, couldn't lock on " + templateIdManagedPoolIdLockString); throw new CloudRuntimeException("Unable to create managed storage template, couldn't lock on " + templateIdManagedPoolIdLockString); @@ -1539,7 +1538,7 @@ public AsyncCallFuture createManagedStorageVolumeFromTemplateAs throw new CloudRuntimeException("Unable to create managed storage template/volume, couldn't get global lock on " + tmplIdManagedPoolIdLockString); } - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (!lock.lock(storagePoolMaxWaitSeconds)) { logger.debug("Unable to create managed storage template/volume, couldn't lock on " + tmplIdManagedPoolIdLockString); throw new CloudRuntimeException("Unable to create managed storage template/volume, couldn't lock on " + tmplIdManagedPoolIdLockString); @@ -1549,10 +1548,6 @@ public AsyncCallFuture createManagedStorageVolumeFromTemplateAs if (templateOnPrimary == null) { templateOnPrimary = createManagedTemplateVolume(srcTemplateInfo, destPrimaryDataStore); - - if (templateOnPrimary == null) { - throw new CloudRuntimeException(String.format("Failed to create template %s on primary storage: %s", srcTemplateInfo, destPrimaryDataStore)); - } } // Copy the template to the template volume. @@ -1611,7 +1606,7 @@ private void createManagedVolumeCopyManagedTemplateAsyncWithLock(VolumeInfo volu throw new CloudRuntimeException("Unable to create volume from template, couldn't get global lock on " + tmplIdManagedPoolIdDestinationHostLockString); } - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (!lock.lock(storagePoolMaxWaitSeconds)) { logger.debug("Unable to create volume from template, couldn't lock on " + tmplIdManagedPoolIdDestinationHostLockString); throw new CloudRuntimeException("Unable to create volume from template, couldn't lock on " + tmplIdManagedPoolIdDestinationHostLockString); diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java index 3a2384a03c85..84195de9d45e 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java @@ -201,7 +201,7 @@ public boolean addUserData(NicProfile nic, VirtualMachineProfile profile) { cmd.addVmData("metadata", "instance-id", String.valueOf(vm.getUuid())); cmd.addVmData("metadata", "vm-id", String.valueOf(vm.getInstanceName())); cmd.addVmData("metadata", "public-keys", null); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { 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 c1bc46c1db8a..4666374aa636 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 @@ -222,10 +222,10 @@ private void createApplyLoadBalancingRulesCommands(List rules 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.NetworkLBHaproxyStatsVisibility.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 cda139b5a62b..4ce4c3eef9eb 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 @@ private void createApplyLoadBalancingRulesCommands(final List 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.NetworkLBHaproxyStatsVisibility.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 1f4f98194dce..07a860ba181a 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.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.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 @@ private void updateLBPool(Network network, LoadBalancingRule loadBalancingRule, // update haproxy TungstenCommand updateTungstenLoadBalancerPoolCommand; - String lbStatsVisibility = configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); + String lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisibility.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 2a29b3976b01..45f2def15e17 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.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 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 boolean updateLoadBalancer(Network network, LoadBalancingRule loadBalanci private boolean updateHaproxyStats(List hostList, String lbUuid) { // update haproxy stats - String lbStatsVisibility = configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); + String lbStatsVisibility = NetworkOrchestrationService.NetworkLBHaproxyStatsVisibility.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 bad21464602e..60ec5878f4fa 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 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.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 void setup() { 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 void applyLBRulesAddRuleSuccessTest() { 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 void applyLBRulesAddRuleFailTest() { 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.NetworkLBHaproxyStatsVisibility.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 38539d8b6c5f..791f95b4415d 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 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.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 void setup() { 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 void updateLoadBalancerTest() { 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/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java index f60dbddbc5bb..dfe39a1e2200 100644 --- a/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java +++ b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java @@ -72,6 +72,7 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.Volume; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.VolumeDetailVO; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.SnapshotDao; @@ -81,6 +82,7 @@ import com.cloud.storage.dao.VMTemplatePoolDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.storage.dao.VolumeDetailsDao; +import com.cloud.storage.snapshot.SnapshotManager; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; @@ -673,9 +675,7 @@ private String revertSnapshotFromImageStore( final String rscName) throws ApiException { String resultMsg = null; - String value = _configDao.getValue(Config.BackupSnapshotWait.toString()); - int _backupsnapshotwait = NumbersUtil.parseInt( - value, Integer.parseInt(Config.BackupSnapshotWait.getDefaultValue())); + int _backupsnapshotwait = SnapshotManager.BackupSnapshotWait.value(); LinstorRevertBackupSnapshotCommand cmd = new LinstorRevertBackupSnapshotCommand( snapshot.getTO(), @@ -1025,8 +1025,7 @@ private Answer copyVolume(DataObject srcData, DataObject dstData) { // uses the format of the base volume and we backup snapshots as QCOW2 // https://github.com/apache/cloudstack/pull/8802#issuecomment-2024019927 to.setFormat(Storage.ImageFormat.RAW); - int nMaxExecutionSeconds = NumbersUtil.parseInt( - _configDao.getValue(Config.CopyVolumeWait.key()), 10800); + int nMaxExecutionSeconds = VolumeApiService.CopyVolumeWait.value(); CopyCommand cmd = new CopyCommand( to, dstData.getTO(), @@ -1113,9 +1112,7 @@ private String setCorrectSnapshotPath(DevelopersApi api, String rscName, Snapsho } protected Answer copySnapshot(DataObject srcData, DataObject destData) { - String value = _configDao.getValue(Config.BackupSnapshotWait.toString()); - int _backupsnapshotwait = NumbersUtil.parseInt( - value, Integer.parseInt(Config.BackupSnapshotWait.getDefaultValue())); + int _backupsnapshotwait = SnapshotManager.BackupSnapshotWait.value(); SnapshotObject snapshotObject = (SnapshotObject)srcData; Boolean snapshotFullBackup = snapshotObject.getFullBackup(); diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java index 14cb82a4c2b3..0b2571224046 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java @@ -95,6 +95,7 @@ import com.cloud.storage.StoragePoolHostVO; import com.cloud.storage.VMTemplateStoragePoolVO; import com.cloud.storage.Volume; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.VolumeDetailVO; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.SnapshotDao; @@ -836,8 +837,7 @@ private Answer copyTemplateToVolume(DataObject srcData, DataObject destData, Hos protected Answer copyOfflineVolume(DataObject srcData, DataObject destData, Host destHost) { // Copy PowerFlex/ScaleIO volume logger.debug("Initiating copy from PowerFlex template volume on host {}", destHost != null ? destHost : ""); - String value = configDao.getValue(Config.CopyVolumeWait.key()); - int copyVolumeWait = NumbersUtil.parseInt(value, Integer.parseInt(Config.CopyVolumeWait.getDefaultValue())); + int copyVolumeWait = VolumeApiService.CopyVolumeWait.value(); CopyCommand cmd = new CopyCommand(srcData.getTO(), destData.getTO(), copyVolumeWait, VirtualMachineManager.ExecuteInSequence.value()); diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java index cb111e9ccac5..41455dc7f271 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java @@ -46,14 +46,13 @@ import com.cloud.agent.api.PrepareStorageClientAnswer; import com.cloud.agent.api.PrepareStorageClientCommand; import com.cloud.agent.api.UnprepareStorageClientCommand; -import com.cloud.configuration.Config; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; import com.cloud.host.Host; import com.cloud.storage.StorageManager; import com.cloud.storage.StoragePoolHostVO; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.dao.StoragePoolHostDao; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; @@ -134,7 +133,7 @@ public String prepareSDC(Host host, DataStore dataStore) { throw new CloudRuntimeException("Unable to prepare SDC, couldn't get global lock on " + hostIdStorageSystemIdLockString); } - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (!hostIdStorageSystemIdLock.lock(storagePoolMaxWaitSeconds)) { logger.debug("Unable to prepare SDC, couldn't lock on " + hostIdStorageSystemIdLockString); throw new CloudRuntimeException("Unable to prepare SDC, couldn't lock on " + hostIdStorageSystemIdLockString); @@ -280,7 +279,7 @@ public boolean unprepareSDC(Host host, DataStore dataStore) { throw new CloudRuntimeException("Unable to unprepare SDC, couldn't get global lock on " + hostIdStorageSystemIdLockString); } - int storagePoolMaxWaitSeconds = NumbersUtil.parseInt(configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); + int storagePoolMaxWaitSeconds = VolumeApiService.StoragePoolMaxWaitSeconds.value(); if (!lock.lock(storagePoolMaxWaitSeconds)) { logger.debug("Unable to unprepare SDC, couldn't lock on " + hostIdStorageSystemIdLockString); throw new CloudRuntimeException("Unable to unprepare SDC, couldn't lock on " + hostIdStorageSystemIdLockString); diff --git a/plugins/storage/volume/scaleio/src/test/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriverTest.java b/plugins/storage/volume/scaleio/src/test/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriverTest.java index 610b595ee052..f31d9a82b085 100644 --- a/plugins/storage/volume/scaleio/src/test/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriverTest.java +++ b/plugins/storage/volume/scaleio/src/test/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriverTest.java @@ -512,8 +512,6 @@ public void deleteSourceVolumeFailureScenarioWhenNoSDCisFound() { @Test public void testCopyOfflineVolume() { - when(configDao.getValue(Config.CopyVolumeWait.key())).thenReturn("3600"); - DataObject srcData = Mockito.mock(DataObject.class); DataTO srcDataTO = Mockito.mock(DataTO.class); when(srcData.getTO()).thenReturn(srcDataTO); @@ -535,8 +533,6 @@ public void testCopyOfflineVolume() { @Test public void testCopyOfflineVolumeFailureWhenNoEndpointFound() { - when(configDao.getValue(Config.CopyVolumeWait.key())).thenReturn("3600"); - DataObject srcData = Mockito.mock(DataObject.class); DataTO srcDataTO = Mockito.mock(DataTO.class); when(srcData.getTO()).thenReturn(srcDataTO); diff --git a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolStatsCollector.java b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolStatsCollector.java index a2c8b274ce95..e0b97beecbf7 100644 --- a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolStatsCollector.java +++ b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolStatsCollector.java @@ -29,7 +29,6 @@ import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; @@ -39,13 +38,13 @@ import org.apache.cloudstack.storage.snapshot.StorPoolConfigurationManager; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import com.cloud.server.StatsCollector; import com.cloud.storage.DataStoreRole; import com.cloud.storage.SnapshotVO; import com.cloud.storage.dao.SnapshotDao; import com.cloud.storage.dao.SnapshotDetailsDao; import com.cloud.storage.dao.SnapshotDetailsVO; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; @@ -61,8 +60,6 @@ public class StorPoolStatsCollector extends ManagerBase { @Inject private StoragePoolDetailsDao storagePoolDetailsDao; @Inject - private ConfigurationDao configurationDao; - @Inject private SnapshotDao snapshotDao; @Inject private SnapshotDataStoreDao snapshotDataStoreDao; @@ -84,8 +81,8 @@ public boolean start() { List spPools = storagePoolDao.findPoolsByProvider(StorPoolUtil.SP_PROVIDER_NAME); if (CollectionUtils.isNotEmpty(spPools)) { executor = Executors.newScheduledThreadPool(3, new NamedThreadFactory("StorPoolStatsCollector")); - long storageStatsInterval = NumbersUtil.parseLong(configurationDao.getValue("storage.stats.interval"), 60000L); - long volumeStatsInterval = NumbersUtil.parseLong(configurationDao.getValue("volume.stats.interval"), 60000L); + long storageStatsInterval = StatsCollector.StorageStatsInterval.value(); + long volumeStatsInterval = StatsCollector.VolumeStatsInterval.value(); if (StorPoolConfigurationManager.VolumesStatsInterval.value() > 0 && volumeStatsInterval > 0) { executor.scheduleAtFixedRate(new StorPoolVolumeStatsMonitorTask(),120, StorPoolConfigurationManager.VolumesStatsInterval.value(), TimeUnit.SECONDS); diff --git a/server/src/main/java/com/cloud/alert/AlertManagerImpl.java b/server/src/main/java/com/cloud/alert/AlertManagerImpl.java index 1387ca66607b..057029f8539a 100644 --- a/server/src/main/java/com/cloud/alert/AlertManagerImpl.java +++ b/server/src/main/java/com/cloud/alert/AlertManagerImpl.java @@ -64,7 +64,6 @@ import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDao; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; -import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; @@ -174,12 +173,12 @@ public boolean configure(String name, Map params) throws Configu Map configs = _configDao.getConfiguration("management-server", params); // set up the email system for alerts - String emailAddressList = configs.get("alert.email.addresses"); + String emailAddressList = AlertEmailAddresses.value(); if (emailAddressList != null) { recipients = emailAddressList.split(","); } - senderAddress = configs.get("alert.email.sender"); + senderAddress = AlertEmailSender.value(); String namespace = "alert.smtp"; String timeoutConfig = String.format("%s.timeout", namespace); @@ -193,39 +192,14 @@ public boolean configure(String name, Map params) throws Configu mailSender = new SMTPMailSender(configs, namespace); - String publicIPCapacityThreshold = _configDao.getValue(Config.PublicIpCapacityThreshold.key()); - String privateIPCapacityThreshold = _configDao.getValue(Config.PrivateIpCapacityThreshold.key()); - String secondaryStorageCapacityThreshold = _configDao.getValue(Config.SecondaryStorageCapacityThreshold.key()); - String vlanCapacityThreshold = _configDao.getValue(Config.VlanCapacityThreshold.key()); - String directNetworkPublicIpCapacityThreshold = _configDao.getValue(Config.DirectNetworkPublicIpCapacityThreshold.key()); - String localStorageCapacityThreshold = _configDao.getValue(Config.LocalStorageCapacityThreshold.key()); - String backupStorageCapacityThreshold = _configDao.getValue(BackupManager.BackupStorageCapacityThreshold.key()); - String objectStorageCapacityThreshold = _configDao.getValue(_storageMgr.ObjectStorageCapacityThreshold.key()); - - if (publicIPCapacityThreshold != null) { - _publicIPCapacityThreshold = Double.parseDouble(publicIPCapacityThreshold); - } - if (privateIPCapacityThreshold != null) { - _privateIPCapacityThreshold = Double.parseDouble(privateIPCapacityThreshold); - } - if (secondaryStorageCapacityThreshold != null) { - _secondaryStorageCapacityThreshold = Double.parseDouble(secondaryStorageCapacityThreshold); - } - if (vlanCapacityThreshold != null) { - _vlanCapacityThreshold = Double.parseDouble(vlanCapacityThreshold); - } - if (directNetworkPublicIpCapacityThreshold != null) { - _directNetworkPublicIpCapacityThreshold = Double.parseDouble(directNetworkPublicIpCapacityThreshold); - } - if (localStorageCapacityThreshold != null) { - _localStorageCapacityThreshold = Double.parseDouble(localStorageCapacityThreshold); - } - if (backupStorageCapacityThreshold != null) { - _backupStorageCapacityThreshold = Double.parseDouble(backupStorageCapacityThreshold); - } - if (objectStorageCapacityThreshold != null) { - _objectStorageCapacityThreshold = Double.parseDouble(objectStorageCapacityThreshold); - } + _publicIPCapacityThreshold = PublicIpCapacityThreshold.value(); + _privateIPCapacityThreshold = PrivateIpCapacityThreshold.value(); + _secondaryStorageCapacityThreshold = SecondaryStorageCapacityThreshold.value(); + _vlanCapacityThreshold = VlanCapacityThreshold.value(); + _directNetworkPublicIpCapacityThreshold = DirectNetworkPublicIpCapacityThreshold.value(); + _localStorageCapacityThreshold = LocalStorageCapacityThreshold.value(); + _backupStorageCapacityThreshold = BackupManager.BackupStorageCapacityThreshold.value(); + _objectStorageCapacityThreshold = StorageManager.ObjectStorageCapacityThreshold.value(); _capacityTypeThresholdMap.put(Capacity.CAPACITY_TYPE_VIRTUAL_NETWORK_PUBLIC_IP, _publicIPCapacityThreshold); _capacityTypeThresholdMap.put(Capacity.CAPACITY_TYPE_PRIVATE_IP, _privateIPCapacityThreshold); @@ -237,12 +211,9 @@ public boolean configure(String name, Map params) throws Configu _capacityTypeThresholdMap.put(Capacity.CAPACITY_TYPE_BACKUP_STORAGE, _backupStorageCapacityThreshold); _capacityTypeThresholdMap.put(Capacity.CAPACITY_TYPE_OBJECT_STORAGE, _objectStorageCapacityThreshold); - String capacityCheckPeriodStr = configs.get("capacity.check.period"); - if (capacityCheckPeriodStr != null) { - _capacityCheckPeriod = Long.parseLong(capacityCheckPeriodStr); - if (_capacityCheckPeriod <= 0) { - _capacityCheckPeriod = Long.parseLong(Config.CapacityCheckPeriod.getDefaultValue()); - } + _capacityCheckPeriod = CapacityCheckPeriod.value(); + if (_capacityCheckPeriod <= 0) { + _capacityCheckPeriod = Long.parseLong(CapacityCheckPeriod.defaultValue()); } initMessageBusListener(); setupRepetitiveAlertTypes(); diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java index c68dc390df2a..7330732a32ba 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.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; @@ -277,6 +278,7 @@ import com.cloud.projects.Project; import com.cloud.projects.ProjectManager; import com.cloud.resourcelimit.CheckedReservation; +import com.cloud.server.ManagementServer; import com.cloud.server.ManagementService; import com.cloud.service.ServiceOfferingDetailsVO; import com.cloud.service.ServiceOfferingVO; @@ -305,7 +307,6 @@ import com.cloud.user.User; import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserDao; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.Ternary; import com.cloud.utils.UriUtils; @@ -513,7 +514,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati @Inject protected DataCenterLinkLocalIpAddressDao _linkLocalIpAllocDao; - private long _defaultPageSize = Long.parseLong(Config.DefaultPageSize.getDefaultValue()); + private long _defaultPageSize = Long.parseLong(ManagementServer.DefaultPageSize.defaultValue()); private static final String DOMAIN_NAME_PATTERN = "^((?!-)[A-Za-z0-9-]{1,63}(? configValuesForValidation = new HashSet<>(); private Set configKeysAllowedOnlyForDefaultAdmin = new HashSet<>(); @@ -586,8 +587,7 @@ public void setExternalProvisioners(final List externalProv @Override public boolean configure(final String name, final Map params) throws ConfigurationException { - final String defaultPageSizeString = _configDao.getValue(Config.DefaultPageSize.key()); - _defaultPageSize = NumbersUtil.parseLong(defaultPageSizeString, Long.parseLong(Config.DefaultPageSize.getDefaultValue())); + _defaultPageSize = ManagementServer.DefaultPageSize.value(); populateConfigValuesForValidationSet(); weightBasedParametersForValidation(); @@ -619,7 +619,7 @@ protected void populateConfigValuesForValidationSet() { 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()); @@ -637,12 +637,12 @@ protected void weightBasedParametersForValidation() { weightBasedParametersForValidation.add(AlertManager.StorageAllocatedCapacityThreshold.key()); weightBasedParametersForValidation.add(AlertManager.StorageCapacityThreshold.key()); weightBasedParametersForValidation.add(AlertManager.MemoryCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.PublicIpCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.PrivateIpCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.SecondaryStorageCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.VlanCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.DirectNetworkPublicIpCapacityThreshold.key()); - weightBasedParametersForValidation.add(Config.LocalStorageCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.PublicIpCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.PrivateIpCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.SecondaryStorageCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.VlanCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.DirectNetworkPublicIpCapacityThreshold.key()); + weightBasedParametersForValidation.add(AlertManager.LocalStorageCapacityThreshold.key()); weightBasedParametersForValidation.add(CapacityManager.StorageAllocatedCapacityDisableThreshold.key()); weightBasedParametersForValidation.add(CapacityManager.StorageCapacityDisableThreshold.key()); weightBasedParametersForValidation.add(CapacityManager.StorageAllocatedCapacityDisableThresholdForVolumeSize.key()); @@ -925,7 +925,7 @@ public String updateConfiguration(final long userId, final String name, final St _configDepot.invalidateConfigCache(name, ConfigKey.Scope.Global, null); PreparedStatement pstmt; - if (Config.XenServerGuestNetwork.key().equalsIgnoreCase(name)) { + if (NetworkService.XenServerGuestNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -936,7 +936,7 @@ public String updateConfiguration(final long userId, final String name, final St } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update guest.network.device in host_details due to exception ", e); } - } else if (Config.XenServerPrivateNetwork.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerPrivateNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -947,7 +947,7 @@ public String updateConfiguration(final long userId, final String name, final St } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update private.network.device in host_details due to exception ", e); } - } else if (Config.XenServerPublicNetwork.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerPublicNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -958,7 +958,7 @@ public String updateConfiguration(final long userId, final String name, final St } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update public.network.device in host_details due to exception ", e); } - } else if (Config.XenServerStorageNetwork1.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerStorageNetwork1.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -969,7 +969,7 @@ public String updateConfiguration(final long userId, final String name, final St } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update storage.network.device1 in host_details due to exception ", e); } - } else if (Config.XenServerStorageNetwork2.key().equals(name)) { + } else if (NetworkService.XenServerStorageNetwork2.key().equals(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -1540,7 +1540,7 @@ protected String validateValueRange(String name, String value, Class type, Co 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) { @@ -1869,8 +1869,7 @@ private void checkPodAttributesForNonEdgeZone(final long podId, final String pod } } - final String checkPodCIDRs = _configDao.getValue("check.pod.cidrs"); - if (checkPodCIDRs == null || checkPodCIDRs.trim().isEmpty() || Boolean.parseBoolean(checkPodCIDRs)) { + if (ManagementServer.CheckPodCIDRs.value()) { checkPodCidrSubnets(zone.getId(), podId, cidr); } } @@ -7640,8 +7639,7 @@ public NetworkOfferingVO createNetworkOffering(final String name, final String d } - final String multicastRateStr = _configDao.getValue("multicast.throttling.rate"); - final int multicastRate = multicastRateStr == null ? 10 : Integer.parseInt(multicastRateStr); + final int multicastRate = ManagementServer.MulticastThrottlingRate.value(); tags = com.cloud.utils.StringUtils.cleanupTags(tags); // specifyIpRanges should always be true for Shared networks diff --git a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 4401dc2d1529..2bc7a57f86ff 100644 --- a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -114,6 +114,7 @@ import com.cloud.storage.StoragePoolStatus; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.VMTemplateDao; +import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.utils.DateUtil; @@ -1140,10 +1141,7 @@ public boolean configure(String name, Map params) throws Configu consoleProxyPort = NumbersUtil.parseInt(value, ConsoleProxyManager.DEFAULT_PROXY_VNC_PORT); } - value = configs.get("secondary.storage.vm"); - if (value != null && value.equalsIgnoreCase("true")) { - useStorageVm = true; - } + useStorageVm = SecondaryStorageVmManager.UseSecondaryStorageVm.value(); instance = configs.get("instance.name"); if (instance == null) { diff --git a/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java b/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java index 34f724c702af..aa619942656e 100644 --- a/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/ExternalFirewallDeviceManagerImpl.java @@ -778,8 +778,7 @@ public int getVlanOffset(long physicalNetworkId, int vlanTag) { 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 79a0a1112f84..26231cd3f594 100644 --- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java @@ -1837,8 +1837,7 @@ public void canProviderSupportServices(Map> providersMap) @Override public boolean canAddDefaultSecurityGroup() { - String defaultAdding = _configDao.getValue(Config.SecurityGroupDefaultAdding.key()); - return (defaultAdding != null && defaultAdding.equalsIgnoreCase("true")); + return SecurityGroupDefaultAdding.value(); } @Override @@ -2944,7 +2943,7 @@ public List generateVmData(String userData, String userDataDetails, St vmData.add(new String[]{METATDATA_DIR, PUBLIC_KEYS_FILE, publicKey}); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index 4f69125575e1..a53ab122bfb2 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 NicSecondaryIp allocateSecondaryGuestIP(final long nicId, IpAddresses req 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 @@ private void checkSharedNetworkCidrOverlap(Long zoneId, long physicalNetworkId, 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)); @@ -5505,16 +5504,16 @@ private String getDefaultXenNetworkLabel(TrafficType trafficType) { String xenLabel = null; switch (trafficType) { case Public: - xenLabel = _configDao.getValue(Config.XenServerPublicNetwork.key()); + xenLabel = XenServerPublicNetwork.value(); break; case Guest: - xenLabel = _configDao.getValue(Config.XenServerGuestNetwork.key()); + xenLabel = XenServerGuestNetwork.value(); break; case Storage: - xenLabel = _configDao.getValue(Config.XenServerStorageNetwork1.key()); + xenLabel = XenServerStorageNetwork1.value(); break; case Management: - xenLabel = _configDao.getValue(Config.XenServerPrivateNetwork.key()); + xenLabel = XenServerPrivateNetwork.value(); break; case Control: xenLabel = "cloud_link_local_network"; 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 09bb9b5adf02..26928464b08a 100644 --- a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java @@ -35,7 +35,6 @@ 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; @@ -57,6 +56,7 @@ 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; @@ -352,8 +352,7 @@ public int getVlanOffset(final long physicalNetworkId, final int vlanTag) { 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 58b2892e09c3..5a532b3b2db5 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 void createApplyLoadBalancingRulesCommands(final List 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.NetworkLBHaproxyStatsVisibility.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())); @@ -1338,7 +1338,7 @@ private VmDataCommand generateVmDataCommand(final VirtualRouter router, final St } cmd.addVmData("metadata", "public-keys", publicKey); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { 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 56534a8ee7df..6f48284d3de7 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.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 static void setVMInstanceName(final String vmInstanceName) { @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/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index de793b5e6106..e17118c833e2 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -2368,8 +2368,7 @@ protected void finalizeMonitorService(final Commands cmds, final VirtualMachineP 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..."); 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 72ca64b41099..67b61fa3ac1d 100644 --- a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -65,7 +65,6 @@ 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; @@ -94,7 +93,6 @@ 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; @@ -946,10 +944,9 @@ public SecurityGroupVO createSecurityGroup(String name, String description, Long @Override public boolean configure(String name, Map params) throws ConfigurationException { - Map 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); 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 28ec7c0d384a..e8aaf9fd1f1e 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 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 boolean configure(String name, Map params) throws Configu logger.error("Failed to register MBean", e); } boolean result = super.configure(name, params); - Map 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 59da95e91ac9..59e2a61308e1 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.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; @@ -76,7 +75,6 @@ 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; @@ -816,11 +814,9 @@ public Pair, Integer> searchForRemoteAccessVpns( @Override public boolean configure(String name, Map params) throws ConfigurationException { - Map 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(); diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index 1f48967b253e..efa4cf8c6135 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -71,6 +71,7 @@ import com.cloud.network.Network.Provider; import com.cloud.network.Network.Service; import com.cloud.network.Network.State; +import com.cloud.network.NetworkModel; import com.cloud.network.Networks.BroadcastDomainType; import com.cloud.network.Networks.Mode; import com.cloud.network.Networks.TrafficType; @@ -92,6 +93,7 @@ import com.cloud.storage.DiskOfferingVO; import com.cloud.storage.Storage.ProvisioningType; import com.cloud.storage.dao.DiskOfferingDao; +import com.cloud.template.TemplateManager; import com.cloud.test.IPRangeConfig; import com.cloud.user.Account; import com.cloud.user.AccountVO; @@ -532,10 +534,17 @@ public void doInTransactionWithoutResult(TransactionStatus status) { protected void updateCloudIdentifier() { // Creates and saves a UUID as the cloud identifier - String currentCloudIdentifier = _configDao.getValue("cloud.identifier"); + String currentCloudIdentifier = NetworkModel.CloudIdentifier.value(); if (currentCloudIdentifier == null || currentCloudIdentifier.isEmpty()) { String uuid = UUID.randomUUID().toString(); - _configDao.update(Config.CloudIdentifier.key(), Config.CloudIdentifier.getCategory(), uuid); + ConfigurationVO configInDB = _configDao.findByName(NetworkModel.CloudIdentifier.key()); + if (configInDB == null) { + ConfigurationVO configVO = new ConfigurationVO(NetworkModel.class.getSimpleName(), NetworkModel.CloudIdentifier); + configVO.setValue(uuid); + _configDao.persist(configVO); + } else { + _configDao.update(NetworkModel.CloudIdentifier.key(), NetworkModel.CloudIdentifier.category(), uuid); + } } } @@ -831,15 +840,15 @@ private void updateSSOKey() { */ private void updateSecondaryStorageVMSharedKey() { try { - ConfigurationVO configInDB = _configDao.findByName(Config.SSVMPSK.key()); + ConfigurationVO configInDB = _configDao.findByName(TemplateManager.SSVMPSK.key()); if(configInDB == null) { - ConfigurationVO configVO = new ConfigurationVO(Config.SSVMPSK.getCategory(), "DEFAULT", Config.SSVMPSK.getComponent(), Config.SSVMPSK.key(), getPrivateKey(), - Config.SSVMPSK.getDescription()); + ConfigurationVO configVO = new ConfigurationVO(TemplateManager.class.getSimpleName(), TemplateManager.SSVMPSK); + configVO.setValue(getPrivateKey()); logger.info("generating a new SSVM PSK. This goes to SSVM on Start"); _configDao.persist(configVO); } else if (StringUtils.isEmpty(configInDB.getValue())) { logger.info("updating the SSVM PSK with new value. This goes to SSVM on Start"); - _configDao.update(Config.SSVMPSK.key(), Config.SSVMPSK.getCategory(), getPrivateKey()); + _configDao.update(TemplateManager.SSVMPSK.key(), TemplateManager.SSVMPSK.category(), getPrivateKey()); } } catch (NoSuchAlgorithmException ex) { logger.error("error generating ssvm psk", ex); diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java index 5f9a3f0dd26d..12d21e2e3bbf 100644 --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@ -4820,7 +4820,7 @@ public ArrayList getCloudIdentifierResponse(final long userId) { // check permissions _accountMgr.checkAccess(caller, null, true, _accountMgr.getAccount(user.getAccountId())); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index f4ad46272f20..2dc30755b6fc 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -461,7 +461,7 @@ protected void init(Map configs) { hostStatsInterval = NumbersUtil.parseLong(configs.get("host.stats.interval"), ONE_MINUTE_IN_MILLISCONDS); vmStatsInterval = NumbersUtil.parseLong(configs.get("vm.stats.interval"), ONE_MINUTE_IN_MILLISCONDS); - storageStatsInterval = NumbersUtil.parseLong(configs.get("storage.stats.interval"), ONE_MINUTE_IN_MILLISCONDS); + storageStatsInterval = StorageStatsInterval.value(); volumeStatsInterval = NumbersUtil.parseLong(configs.get("volume.stats.interval"), ONE_MINUTE_IN_MILLISCONDS); autoScaleStatsInterval = AutoScaleManager.AutoScaleStatsInterval.value(); ManagementServerStatusAdministrator managementServerStatusAdministrator = new ManagementServerStatusAdministrator(); diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 2f63df4721c9..9eb20a7d6750 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -404,6 +404,10 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic static final ConfigKey VmJobCheckInterval = new ConfigKey<>("Advanced", Long.class, "vm.job.check.interval", "3000", "Interval in milliseconds to check if the job is complete", false); + // Registered/owned by the VMware hypervisor plugin's VmwareManager; declared here too so this module can read it without a reverse dependency on that plugin. + static final ConfigKey VmwareOVAPackageTimeout = new ConfigKey<>("Advanced", Integer.class, "vmware.package.ova.timeout", "3600", + "Vmware script timeout for ova packaging process", true); + static final ConfigKey VolumeUrlCheck = new ConfigKey<>("Advanced", Boolean.class, "volume.url.check", "true", "Check the url for a volume before downloading it from the management server. Set to false when your management has no internet access.", true); @@ -549,7 +553,7 @@ public GetUploadParamsResponse doInTransaction(TransactionStatus status) throws String expires = currentDateTime.plusMinutes(timeout).toString(); response.setTimeout(expires); - String key = _configDao.getValue(Config.SSVMPSK.key()); + String key = TemplateManager.SSVMPSK.value(); /* * encoded metadata using the post upload config key */ @@ -559,8 +563,8 @@ public GetUploadParamsResponse doInTransaction(TransactionStatus status) throws dataObject.getDataStore().getRole().toString(), zoneId); command.setLocalPath(volumeStore.getLocalDownloadPath()); //using the existing max upload size configuration - command.setProcessTimeout(NumbersUtil.parseLong(_configDao.getValue("vmware.package.ova.timeout"), 3600)); - command.setMaxUploadSize(_configDao.getValue(Config.MaxUploadVolumeSize.key())); + command.setProcessTimeout(VmwareOVAPackageTimeout.value()); + command.setMaxUploadSize(String.valueOf(MaxUploadVolumeSize.value())); long accountId = vol.getAccountId(); Account account = _accountDao.findById(accountId); @@ -4873,9 +4877,6 @@ private String orchestrateExtractVolume(long volumeId, long zoneId) { if (secStore == null) { throw new InvalidParameterValueException(String.format("Secondary storage to satisfy storage needs cannot be found for zone: %d", zoneId)); } - String value = _configDao.getValue(Config.CopyVolumeWait.toString()); - NumbersUtil.parseInt(value, Integer.parseInt(Config.CopyVolumeWait.getDefaultValue())); - // Copy volume from primary to secondary storage VolumeInfo srcVol = volFactory.getVolume(volumeId); VolumeInfo destVol = volFactory.getVolume(volumeId, DataStoreRole.Image); diff --git a/server/src/main/java/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/main/java/com/cloud/storage/download/DownloadMonitorImpl.java index 5258f4337550..3344fe0f235f 100644 --- a/server/src/main/java/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/main/java/com/cloud/storage/download/DownloadMonitorImpl.java @@ -53,6 +53,7 @@ import com.cloud.storage.DataStoreRole; import com.cloud.storage.RegisterVolumePayload; import com.cloud.storage.Storage.ImageFormat; +import com.cloud.storage.VolumeApiService; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.template.TemplateConstants; import com.cloud.storage.upload.UploadListener; @@ -336,7 +337,7 @@ private Long getMaxTemplateSizeInBytes() { private Long getMaxVolumeSizeInBytes() { try { - return Long.parseLong(_configDao.getValue("storage.max.volume.upload.size")) * 1024L * 1024L * 1024L; + return VolumeApiService.MaxUploadVolumeSize.value() * 1024L * 1024L * 1024L; } catch (NumberFormatException e) { return null; } @@ -344,7 +345,7 @@ private Long getMaxVolumeSizeInBytes() { private Long getMaxSnapshotSizeInBytes() { try { - return Long.parseLong(_configDao.getValue("storage.max.volume.upload.size")) * 1024L * 1024L * 1024L; + return VolumeApiService.MaxUploadVolumeSize.value() * 1024L * 1024L * 1024L; } catch (NumberFormatException e) { return null; } diff --git a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java index 8e39976cac24..acf55494ae74 100755 --- a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -68,7 +68,6 @@ import org.apache.cloudstack.framework.async.AsyncCallFuture; 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.jobs.AsyncJob; import org.apache.cloudstack.managed.context.ManagedContextRunnable; import org.apache.cloudstack.reservation.dao.ReservationDao; @@ -96,6 +95,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.commands.ListRecurringSnapshotScheduleCmd; import com.cloud.api.query.MutualExclusiveIdsManagerBase; +import com.cloud.configuration.ManagementServiceConfiguration; import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; import com.cloud.dc.ClusterVO; @@ -163,7 +163,6 @@ import com.cloud.user.dao.AccountDao; import com.cloud.utils.DateUtil; import com.cloud.utils.DateUtil.IntervalType; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.storage.clvm.ClvmPoolManager; import com.cloud.utils.Ternary; @@ -232,8 +231,6 @@ public class SnapshotManagerImpl extends MutualExclusiveIdsManagerBase implement @Inject ResourceTagDao _resourceTagDao; @Inject - ConfigurationDao _configDao; - @Inject VMSnapshotDao _vmSnapshotDao; @Inject DataStoreManager dataStoreMgr; @@ -1886,14 +1883,12 @@ private void updateSnapshotPayload(long storagePoolId, CreateSnapshotPayload pay @Override public boolean configure(String name, Map params) throws ConfigurationException { - String value = _configDao.getValue(Config.BackupSnapshotWait.toString()); - Type.HOURLY.setMax(SnapshotHourlyMax.value()); Type.DAILY.setMax(SnapshotDailyMax.value()); Type.WEEKLY.setMax(SnapshotWeeklyMax.value()); Type.MONTHLY.setMax(SnapshotMonthlyMax.value()); - _totalRetries = NumbersUtil.parseInt(_configDao.getValue("total.retries"), 4); - _pauseInterval = 2 * NumbersUtil.parseInt(_configDao.getValue("ping.interval"), 60); + _totalRetries = TotalRetries.value(); + _pauseInterval = 2 * ManagementServiceConfiguration.PingInterval.value(); snapshotBackupRetries = BackupRetryAttempts.value(); snapshotBackupRetryInterval = BackupRetryInterval.value(); diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index 5ed09be6e169..570172e93c19 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -484,7 +484,7 @@ private GetUploadParamsResponse registerPostUploadInternal(TemplateAdapter adapt String expires = currentDateTime.plusMinutes(timeout).toString(); response.setTimeout(expires); - String key = _configDao.getValue(Config.SSVMPSK.key()); + String key = SSVMPSK.value(); /* * encoded metadata using the post upload config ssh key */ diff --git a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java index 9a0b150780e4..360e9ef10771 100644 --- a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java +++ b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java @@ -957,7 +957,7 @@ public void testValidateConfigurationAllowedOnlyForDefaultAdmin_withValidConfigN @Test public void getConfigurationTypeWrapperClassTestReturnsConfigType() { - Config configuration = Config.AlertEmailAddresses; + Config configuration = Config.AlertSMTPConnectionTimeout; Assert.assertEquals(configuration.getType(), configurationManagerImplSpy.getConfigurationTypeWrapperClass(configuration.key())); } diff --git a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java index 336f9990c12b..d689ec7a62d0 100644 --- a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java +++ b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java @@ -104,7 +104,6 @@ @RunWith(MockitoJUnitRunner.class) public class ConfigDriveNetworkElementTest { - public static final String CLOUD_ID = "xx"; public static final String PUBLIC_KEY = "publicKey"; public static final String PASSWORD = "password"; public static final long NETWORK_ID = 1L; @@ -178,7 +177,6 @@ public void setUp() throws NoSuchFieldException, IllegalAccessException { when(_serviceOfferingDao.findByIdIncludingRemoved(VMID, SOID)).thenReturn(serviceOfferingVO); when(_guestOSDao.findById(Mockito.anyLong())).thenReturn(guestOSVO); when(_guestOSCategoryDao.findById(Mockito.anyLong())).thenReturn(guestOSCategoryVo); - when(_configDao.getValue("cloud.identifier")).thenReturn(CLOUD_ID); when(guestOSCategoryVo.getName()).thenReturn("Linux"); when(dataCenterVO.getName()).thenReturn(ZONENAME); when(serviceOfferingVO.getDisplayText()).thenReturn(VMOFFERING); diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index af9f7875e7ed..c29086b8b9db 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -337,7 +337,7 @@ public boolean generateSetupCommand(Long ssHostId) { String nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); setupCmd.setNfsVersion(nfsVersion); - String postUploadKey = _configDao.getValue(Config.SSVMPSK.key()); + String postUploadKey = TemplateManager.SSVMPSK.value(); setupCmd.setPostUploadKey(postUploadKey); Answer answer = _agentMgr.easySend(ssHostId, setupCmd); diff --git a/usage/src/main/java/com/cloud/usage/UsageAlertManagerImpl.java b/usage/src/main/java/com/cloud/usage/UsageAlertManagerImpl.java index 675118ddfab0..3ce7146c7455 100644 --- a/usage/src/main/java/com/cloud/usage/UsageAlertManagerImpl.java +++ b/usage/src/main/java/com/cloud/usage/UsageAlertManagerImpl.java @@ -55,8 +55,9 @@ public class UsageAlertManagerImpl extends ManagerBase implements AlertManager { public boolean configure(String name, Map params) throws ConfigurationException { Map configs = _configDao.getConfiguration("management-server", params); - senderAddress = configs.get("alert.email.sender"); - String emailAddressList = configs.get("alert.email.addresses"); + // the usage server has no ConfigDepot, so ConfigKey.value() would only return the defaults here + senderAddress = configs.get(AlertEmailSender.key()); + String emailAddressList = configs.get(AlertEmailAddresses.key()); recipients = null; if (emailAddressList != null) { recipients = emailAddressList.split(",");