From 5d4b5fd642d250f45ec62ea7f28577d885e3665a Mon Sep 17 00:00:00 2001 From: Aaron Brady Date: Wed, 23 Mar 2016 12:15:24 +0000 Subject: [PATCH 1/2] Use timeout when applying config to virtual router --- .../agent/resource/virtualnetwork/VirtualRoutingResource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java index f3edc6967594..f271e72104fb 100644 --- a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java +++ b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java @@ -379,7 +379,7 @@ private Answer execute(AggregationControlCommand cmd) { timeout = 120; } - ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), fileConfigItem); + ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), fileConfigItem, timeout); if (!result.isSuccess()) { return new Answer(cmd, false, result.getDetails()); } From ddfc368117a3548cdf198d4f19f484365cf99aa8 Mon Sep 17 00:00:00 2001 From: Aaron Brady Date: Sat, 26 Mar 2016 00:38:57 +0000 Subject: [PATCH 2/2] Remove dangerous prototype of applyConfigToVR --- .../virtualnetwork/VirtualRoutingResource.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java index f271e72104fb..2d22b148471b 100644 --- a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java +++ b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java @@ -152,11 +152,10 @@ private Answer executeQueryCommand(NetworkElementCommand cmd) { } } - private ExecutionResult applyConfigToVR(String routerAccessIp, ConfigItem c) { - return applyConfigToVR(routerAccessIp, c, VRScripts.DEFAULT_EXECUTEINVR_TIMEOUT); - } - private ExecutionResult applyConfigToVR(String routerAccessIp, ConfigItem c, int timeout) { + if (timeout < VRScripts.DEFAULT_EXECUTEINVR_TIMEOUT) { + timeout = VRScripts.DEFAULT_EXECUTEINVR_TIMEOUT; + } if (c instanceof FileConfigItem) { FileConfigItem configItem = (FileConfigItem)c; return _vrDeployer.createFileInVR(routerAccessIp, configItem.getFilePath(), configItem.getFileName(), configItem.getFileContents()); @@ -180,7 +179,7 @@ private Answer applyConfig(NetworkElementCommand cmd, List cfg) { boolean finalResult = false; for (ConfigItem configItem : cfg) { long startTimestamp = System.currentTimeMillis(); - ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), configItem); + ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), configItem, VRScripts.DEFAULT_EXECUTEINVR_TIMEOUT); if (s_logger.isDebugEnabled()) { long elapsed = System.currentTimeMillis() - startTimestamp; s_logger.debug("Processing " + configItem + " took " + elapsed + "ms"); @@ -375,9 +374,6 @@ private Answer execute(AggregationControlCommand cmd) { ScriptConfigItem scriptConfigItem = new ScriptConfigItem(VRScripts.VR_CFG, "-c " + VRScripts.CONFIG_CACHE_LOCATION + cfgFileName); // 120s is the minimal timeout int timeout = answerCounts * _eachTimeout; - if (timeout < 120) { - timeout = 120; - } ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), fileConfigItem, timeout); if (!result.isSuccess()) {