Skip to content

Commit c19261d

Browse files
Daan Hooglandclaude
andcommitted
use ConfigKeys for network, stats collector, storage, user VM and account manager settings
Part of the split of #13884 (phase out the Config enum, #10752). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 0ddab00 commit c19261d

21 files changed

Lines changed: 48 additions & 109 deletions

File tree

‎engine/components-api/src/main/java/com/cloud/network/NetworkStateListener.java‎

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
import java.util.Date;
2222
import java.util.HashMap;
2323
import java.util.Map;
24+
import org.apache.cloudstack.framework.config.ConfigKey;
2425

25-
import javax.inject.Inject;
26-
27-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
2826
import org.apache.cloudstack.framework.events.EventDistributor;
2927
import org.apache.logging.log4j.LogManager;
3028
import org.apache.logging.log4j.Logger;
@@ -38,15 +36,16 @@
3836

3937
public class NetworkStateListener implements StateListener<State, Event, Network> {
4038

41-
@Inject
42-
private ConfigurationDao _configDao;
39+
// Registered/owned by com.cloud.server.ManagementServer#PublishResourceStateEvent; declared here too so this
40+
// module can read it without a reverse dependency on the server module.
41+
private static final ConfigKey<Boolean> PublishResourceStateEvent = new ConfigKey<>("Advanced", Boolean.class, "publish.resource.state.events", "true",
42+
"enable or disable publishing of alert events on the event bus", true);
4343

4444
private EventDistributor eventDistributor;
4545

4646
protected Logger logger = LogManager.getLogger(getClass());
4747

48-
public NetworkStateListener(ConfigurationDao configDao) {
49-
_configDao = configDao;
48+
public NetworkStateListener() {
5049
}
5150

5251
public void setEventDistributor(EventDistributor eventDistributor) {
@@ -69,9 +68,7 @@ public boolean postStateTransitionEvent(StateMachine2.Transition<State, Event> t
6968
}
7069

7170
private void pubishOnEventBus(String event, String status, Network vo, State oldState, State newState) {
72-
String configKey = "publish.resource.state.events";
73-
String value = _configDao.getValue(configKey);
74-
boolean configValue = Boolean.parseBoolean(value);
71+
boolean configValue = PublishResourceStateEvent.value();
7572
if(!configValue)
7673
return;
7774
if (eventDistributor == null) {

‎engine/components-api/src/test/java/com/cloud/network/NetworkStateListenerTest.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
// under the License.
1717
package com.cloud.network;
1818

19-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
2019
import org.apache.cloudstack.framework.events.EventDistributor;
2120
import org.junit.Assert;
2221
import org.junit.Test;
@@ -26,7 +25,7 @@
2625

2726
public class NetworkStateListenerTest {
2827
@InjectMocks
29-
NetworkStateListener networkStateListener = new NetworkStateListener(Mockito.mock(ConfigurationDao.class));
28+
NetworkStateListener networkStateListener = new NetworkStateListener();
3029

3130
@Test
3231
public void testSetEventDistributor() {

‎engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
import org.apache.cloudstack.framework.config.ConfigKey;
5353
import org.apache.cloudstack.framework.config.ConfigKey.Scope;
5454
import org.apache.cloudstack.framework.config.Configurable;
55-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
5655
import org.apache.cloudstack.framework.messagebus.MessageBus;
5756
import org.apache.cloudstack.framework.messagebus.PublishScope;
5857
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
@@ -226,7 +225,6 @@
226225
import com.cloud.user.ResourceLimitService;
227226
import com.cloud.user.User;
228227
import com.cloud.user.dao.AccountDao;
229-
import com.cloud.utils.NumbersUtil;
230228
import com.cloud.utils.Pair;
231229
import com.cloud.utils.UuidUtils;
232230
import com.cloud.utils.component.AdapterBase;
@@ -291,8 +289,6 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
291289
@Inject
292290
AccountDao _accountDao;
293291
@Inject
294-
ConfigurationDao _configDao;
295-
@Inject
296292
UserVmDao _userVmDao;
297293
@Inject
298294
AlertManager _alertMgr;
@@ -764,7 +760,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) {
764760

765761
_agentMgr.registerForHostEvents(this, true, false, true);
766762

767-
Network.State.getStateMachine().registerListener(new NetworkStateListener(_configDao));
763+
Network.State.getStateMachine().registerListener(new NetworkStateListener());
768764

769765
logger.info("Network Manager is configured.");
770766

@@ -773,7 +769,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) {
773769

774770
@Override
775771
public boolean start() {
776-
final int netGcInterval = NumbersUtil.parseInt(_configDao.getValue(NetworkGcInterval.key()), 60);
772+
final int netGcInterval = NetworkGcInterval.value();
777773
logger.info("Network Manager will run the NetworkGarbageCollector every '{}' seconds.", netGcInterval);
778774

779775
_executor.scheduleWithFixedDelay(new NetworkGarbageCollector(), netGcInterval, netGcInterval, TimeUnit.SECONDS);

‎plugins/affinity-group-processors/host-anti-affinity/src/main/java/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,16 @@
3232
import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao;
3333
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
3434

35-
import com.cloud.configuration.Config;
3635
import com.cloud.deploy.DeployDestination;
3736
import com.cloud.deploy.DeploymentPlan;
3837
import com.cloud.deploy.DeploymentPlanner.ExcludeList;
3938
import com.cloud.exception.AffinityConflictException;
4039
import com.cloud.utils.DateUtil;
41-
import com.cloud.utils.NumbersUtil;
4240
import com.cloud.utils.db.Transaction;
4341
import com.cloud.utils.db.TransactionCallback;
4442
import com.cloud.utils.db.TransactionCallbackNoReturn;
4543
import com.cloud.utils.db.TransactionStatus;
44+
import com.cloud.vm.UserVmManager;
4645
import com.cloud.vm.VMInstanceVO;
4746
import com.cloud.vm.VirtualMachine;
4847
import com.cloud.vm.VirtualMachineProfile;
@@ -125,7 +124,7 @@ protected void processAffinityGroup(AffinityGroupVMMapVO vmGroupMapping, Exclude
125124
@Override
126125
public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
127126
super.configure(name, params);
128-
_vmCapacityReleaseInterval = NumbersUtil.parseInt(_configDao.getValue(Config.CapacitySkipcountingHours.key()), 3600);
127+
_vmCapacityReleaseInterval = UserVmManager.CapacitySkipcountingHours.value();
129128
return true;
130129
}
131130

‎plugins/affinity-group-processors/non-strict-host-affinity/src/main/java/org/apache/cloudstack/affinity/NonStrictHostAffinityProcessor.java‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,17 @@
2323
import javax.inject.Inject;
2424
import javax.naming.ConfigurationException;
2525

26-
2726
import org.apache.cloudstack.affinity.dao.AffinityGroupDao;
2827
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
2928
import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao;
3029
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
3130

32-
import com.cloud.configuration.Config;
3331
import com.cloud.deploy.DeployDestination;
3432
import com.cloud.deploy.DeploymentPlan;
3533
import com.cloud.deploy.DeploymentPlanner.ExcludeList;
3634
import com.cloud.exception.AffinityConflictException;
3735
import com.cloud.utils.DateUtil;
38-
import com.cloud.utils.NumbersUtil;
36+
import com.cloud.vm.UserVmManager;
3937
import com.cloud.vm.VMInstanceVO;
4038
import com.cloud.vm.VirtualMachine;
4139
import com.cloud.vm.VirtualMachineProfile;
@@ -119,7 +117,7 @@ protected Integer adjustHostPriority(DeploymentPlan plan, Long hostId) {
119117
@Override
120118
public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
121119
super.configure(name, params);
122-
vmCapacityReleaseInterval = NumbersUtil.parseInt(configDao.getValue(Config.CapacitySkipcountingHours.key()), 3600);
120+
vmCapacityReleaseInterval = UserVmManager.CapacitySkipcountingHours.value();
123121
return true;
124122
}
125123

‎plugins/dedicated-resources/src/main/java/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import org.apache.logging.log4j.Logger;
5050
import org.springframework.stereotype.Component;
5151

52-
import com.cloud.configuration.Config;
5352
import com.cloud.dc.ClusterVO;
5453
import com.cloud.dc.DataCenterVO;
5554
import com.cloud.dc.DedicatedResourceVO;
@@ -72,7 +71,6 @@
7271
import com.cloud.user.AccountVO;
7372
import com.cloud.user.dao.AccountDao;
7473
import com.cloud.utils.DateUtil;
75-
import com.cloud.utils.NumbersUtil;
7674
import com.cloud.utils.Pair;
7775
import com.cloud.utils.db.DB;
7876
import com.cloud.utils.db.Filter;
@@ -81,6 +79,7 @@
8179
import com.cloud.utils.db.TransactionCallbackNoReturn;
8280
import com.cloud.utils.db.TransactionStatus;
8381
import com.cloud.utils.exception.CloudRuntimeException;
82+
import com.cloud.vm.UserVmManager;
8483
import com.cloud.vm.UserVmVO;
8584
import com.cloud.vm.dao.UserVmDao;
8685

@@ -117,7 +116,7 @@ public class DedicatedResourceManagerImpl implements DedicatedService {
117116
private int capacityReleaseInterval;
118117

119118
public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
120-
capacityReleaseInterval = NumbersUtil.parseInt(_configDao.getValue(Config.CapacitySkipcountingHours.key()), 3600);
119+
capacityReleaseInterval = UserVmManager.CapacitySkipcountingHours.value();
121120
return true;
122121
}
123122

‎plugins/deployment-planners/implicit-dedication/src/main/java/com/cloud/deploy/ImplicitDedicationPlanner.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,14 @@
2828

2929
import org.apache.commons.collections.CollectionUtils;
3030

31-
import com.cloud.configuration.Config;
3231
import com.cloud.exception.InsufficientServerCapacityException;
3332
import com.cloud.resource.ResourceManager;
3433
import com.cloud.service.ServiceOfferingVO;
3534
import com.cloud.service.dao.ServiceOfferingDao;
3635
import com.cloud.service.dao.ServiceOfferingDetailsDao;
3736
import com.cloud.user.Account;
3837
import com.cloud.utils.DateUtil;
39-
import com.cloud.utils.NumbersUtil;
38+
import com.cloud.vm.UserVmManager;
4039
import com.cloud.vm.VMInstanceVO;
4140
import com.cloud.vm.VirtualMachineProfile;
4241

@@ -55,7 +54,7 @@ public class ImplicitDedicationPlanner extends FirstFitPlanner implements Deploy
5554
@Override
5655
public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
5756
super.configure(name, params);
58-
capacityReleaseInterval = NumbersUtil.parseInt(configDao.getValue(Config.CapacitySkipcountingHours.key()), 3600);
57+
capacityReleaseInterval = UserVmManager.CapacitySkipcountingHours.value();
5958
return true;
6059
}
6160

‎server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import com.cloud.agent.api.Command;
5252
import com.cloud.agent.api.StartupCommand;
5353
import com.cloud.capacity.dao.CapacityDao;
54-
import com.cloud.configuration.Config;
5554
import com.cloud.dc.ClusterDetailsDao;
5655
import com.cloud.dc.ClusterDetailsVO;
5756
import com.cloud.dc.dao.ClusterDao;
@@ -77,7 +76,6 @@
7776
import com.cloud.storage.dao.VMTemplatePoolDao;
7877
import com.cloud.storage.dao.VolumeDao;
7978
import com.cloud.utils.DateUtil;
80-
import com.cloud.utils.NumbersUtil;
8179
import com.cloud.utils.Pair;
8280
import com.cloud.utils.component.ManagerBase;
8381
import com.cloud.utils.db.DB;
@@ -88,6 +86,7 @@
8886
import com.cloud.utils.fsm.StateListener;
8987
import com.cloud.utils.fsm.StateMachine2;
9088
import com.cloud.vm.VMInstanceDetailVO;
89+
import com.cloud.vm.UserVmManager;
9190
import com.cloud.vm.UserVmVO;
9291
import com.cloud.vm.VMInstanceVO;
9392
import com.cloud.vm.VirtualMachine;
@@ -147,7 +146,7 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
147146

148147
@Override
149148
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
150-
_vmCapacityReleaseInterval = NumbersUtil.parseInt(_configDao.getValue(Config.CapacitySkipcountingHours.key()), 3600);
149+
_vmCapacityReleaseInterval = UserVmManager.CapacitySkipcountingHours.value();
151150

152151
VirtualMachine.State.getStateMachine().registerListener(this);
153152
_agentManager.registerForHostEvents(new StorageCapacityListener(_capacityDao, _storageMgr), true, false, false);

‎server/src/main/java/com/cloud/network/ExternalDeviceUsageManagerImpl.java‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import com.cloud.agent.AgentManager;
3636
import com.cloud.agent.api.ExternalNetworkResourceUsageAnswer;
3737
import com.cloud.agent.api.ExternalNetworkResourceUsageCommand;
38-
import com.cloud.configuration.Config;
3938
import com.cloud.dc.DataCenterVO;
4039
import com.cloud.dc.dao.DataCenterDao;
4140
import com.cloud.dc.dao.HostPodDao;
@@ -76,7 +75,6 @@
7675
import com.cloud.user.UserStatisticsVO;
7776
import com.cloud.user.dao.AccountDao;
7877
import com.cloud.user.dao.UserStatisticsDao;
79-
import com.cloud.utils.NumbersUtil;
8078
import com.cloud.utils.component.ManagerBase;
8179
import com.cloud.utils.concurrency.NamedThreadFactory;
8280
import com.cloud.utils.db.GlobalLock;
@@ -157,7 +155,7 @@ public class ExternalDeviceUsageManagerImpl extends ManagerBase implements Exter
157155

158156
@Override
159157
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
160-
_externalNetworkStatsInterval = NumbersUtil.parseInt(_configDao.getValue(Config.ExternalNetworkStatsInterval.key()), 300);
158+
_externalNetworkStatsInterval = NetworkModel.ExternalNetworkStatsInterval.value();
161159
if (_externalNetworkStatsInterval > 0) {
162160
_executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("ExternalNetworkMonitor"));
163161
}

‎server/src/main/java/com/cloud/network/IpAddressManagerImpl.java‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
6060
import org.apache.cloudstack.framework.config.ConfigKey;
6161
import org.apache.cloudstack.framework.config.Configurable;
62-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
6362
import org.apache.cloudstack.framework.messagebus.MessageBus;
6463
import org.apache.cloudstack.framework.messagebus.PublishScope;
6564
import org.apache.cloudstack.region.PortableIp;
@@ -222,8 +221,6 @@ public class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
222221
@Inject
223222
UserDao _userDao;
224223
@Inject
225-
ConfigurationDao _configDao;
226-
@Inject
227224
UserVmDao _userVmDao;
228225
@Inject
229226
AlertManager _alertMgr;
@@ -566,7 +563,7 @@ public boolean configure(String name, Map<String, Object> params) {
566563
AssignIpAddressFromPodVlanSearch.join("vlan", podVlanSearch, podVlanSearch.entity().getId(), AssignIpAddressFromPodVlanSearch.entity().getVlanId(), JoinType.INNER);
567564
AssignIpAddressFromPodVlanSearch.done();
568565

569-
Network.State.getStateMachine().registerListener(new NetworkStateListener(_configDao));
566+
Network.State.getStateMachine().registerListener(new NetworkStateListener());
570567

571568
if (RulesContinueOnError.value() != null) {
572569
rulesContinueOnErrFlag = RulesContinueOnError.value();

0 commit comments

Comments
 (0)