diff --git a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java index f07b1b26bde..839f34ac658 100644 --- a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java +++ b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java @@ -397,9 +397,12 @@ public class VirtualRoutingResource { } public boolean configureHostParams(final Map params) { - if (_params.get("router.aggregation.command.each.timeout") == null) { + if (_params.get("router.aggregation.command.each.timeout") != null) { String value = (String)params.get("router.aggregation.command.each.timeout"); - _eachTimeout = Duration.standardSeconds(NumbersUtil.parseInt(value, 10)); + _eachTimeout = Duration.standardSeconds(NumbersUtil.parseLong(value, 600)); + if (s_logger.isDebugEnabled()){ + s_logger.debug("The router.aggregation.command.each.timeout in seconds is set to " + _eachTimeout.getStandardSeconds()); + } } return true; diff --git a/engine/components-api/src/main/java/com/cloud/agent/AgentManager.java b/engine/components-api/src/main/java/com/cloud/agent/AgentManager.java index 1d8e5faf9d4..818e0a75e64 100644 --- a/engine/components-api/src/main/java/com/cloud/agent/AgentManager.java +++ b/engine/components-api/src/main/java/com/cloud/agent/AgentManager.java @@ -16,6 +16,8 @@ // under the License. package com.cloud.agent; +import java.util.Map; + import org.apache.cloudstack.framework.config.ConfigKey; import com.cloud.agent.api.Answer; @@ -153,5 +155,5 @@ public interface AgentManager { void notifyMonitorsOfRemovedHost(long hostId, long clusterId); - void propagateChangeToAgents(); + void propagateChangeToAgents(Map params); } diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java index fe6d9d514f6..e80d3ec2d94 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java @@ -1824,11 +1824,11 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl } @Override - public void propagateChangeToAgents() { - s_logger.debug("Propagating changes on host parameters to the agents"); - Map> hostsPerZone = getHostsPerZone(); - Map params = new HashMap(); - params.put("router.aggregation.command.each.timeout", _configDao.getValue("router.aggregation.command.each.timeout")); - sendCommandToAgents(hostsPerZone, params); + public void propagateChangeToAgents(Map params) { + if (params != null && ! params.isEmpty()) { + s_logger.debug("Propagating changes on host parameters to the agents"); + Map> hostsPerZone = getHostsPerZone(); + sendCommandToAgents(hostsPerZone, params); + } } } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index f3066cafc07..0c1593b3cbc 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -1116,8 +1116,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv storage.configure("Storage", new HashMap()); if (params.get("router.aggregation.command.each.timeout") != null) { String value = (String)params.get("router.aggregation.command.each.timeout"); - Integer intValue = NumbersUtil.parseInt(value, 600); - storage.persist("router.aggregation.command.each.timeout", String.valueOf(intValue)); + Long longValue = NumbersUtil.parseLong(value, 600); + storage.persist("router.aggregation.command.each.timeout", String.valueOf(longValue)); } return true; diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java index 05f5fffdb8a..099f97d9900 100755 --- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java @@ -486,7 +486,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati globalSettingUpdated.equals(IndirectAgentLBServiceImpl.IndirectAgentLBAlgorithm.key())) { _indirectAgentLB.propagateMSListToAgents(); } else if (globalSettingUpdated.equals(Config.RouterAggregationCommandEachTimeout.toString())) { - _agentManager.propagateChangeToAgents(); + Map params = new HashMap(); + params.put(Config.RouterAggregationCommandEachTimeout.toString(), _configDao.getValue(Config.RouterAggregationCommandEachTimeout.toString())); + _agentManager.propagateChangeToAgents(params); } } });