Repository: brooklyn-server
Updated Branches:
  refs/heads/master 660ebbb4e -> 52e0c4e19


Parametrize number of retries of network failures


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/69548bd0
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/69548bd0
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/69548bd0

Branch: refs/heads/master
Commit: 69548bd0c336ee61e652b6dfa2406bfea7aa179c
Parents: 1aeb0f5
Author: Valentin Aitken <bos...@gmail.com>
Authored: Sat Mar 26 02:01:54 2016 +0200
Committer: Valentin Aitken <bos...@gmail.com>
Committed: Sat Mar 26 02:01:54 2016 +0200

----------------------------------------------------------------------
 pom.xml                                                          | 2 +-
 .../org/apache/brooklyn/location/winrm/WinRmMachineLocation.java | 1 +
 .../org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java  | 4 ++--
 .../brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java   | 3 +++
 4 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/69548bd0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b7bdf19..d6d0e7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -151,7 +151,7 @@
         <jax-rs-api.version>2.0.1</jax-rs-api.version>
         <maxmind.version>0.8.1</maxmind.version>
         <jna.version>4.0.0</jna.version>
-        <winrm4j.version>0.3.4</winrm4j.version>
+        <winrm4j.version>0.3.5</winrm4j.version>
         <!-- Transitive dependencies, declared explicitly to avoid version 
mismatch -->
         <clojure.version>1.4.0</clojure.version>
         <zookeeper.version>3.3.4</zookeeper.version>

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/69548bd0/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
----------------------------------------------------------------------
diff --git 
a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
 
b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
index e014e03..079bee6 100644
--- 
a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
+++ 
b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
@@ -78,6 +78,7 @@ public class WinRmMachineLocation extends AbstractLocation 
implements MachineLoc
 
     public static final ConfigKey<Integer> WINRM_CONFIG_PORT = 
newConfigKeyWithPrefix(BrooklynConfigKeys.BROOKLYN_WINRM_CONFIG_KEY_PREFIX, 
WinRmTool.PROP_PORT);
     public static final ConfigKey<String> OPERATION_TIMEOUT = 
newConfigKeyWithPrefix(BrooklynConfigKeys.BROOKLYN_WINRM_CONFIG_KEY_PREFIX, 
WinRmTool.OPERATION_TIMEOUT);
+    public static final ConfigKey<Integer> RETRIES_OF_NETWORK_FAILURES = 
newConfigKeyWithPrefix(BrooklynConfigKeys.BROOKLYN_WINRM_CONFIG_KEY_PREFIX, 
WinRmTool.RETRIES_OF_NETWORK_FAILURES);
     public static final ConfigKey<Boolean> USE_HTTPS_WINRM = 
WinRmTool.USE_HTTPS_WINRM;
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/69548bd0/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java
----------------------------------------------------------------------
diff --git 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java
 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java
index 6d9007d..a09da48 100644
--- 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java
+++ 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/WinRmTool.java
@@ -45,8 +45,8 @@ public interface WinRmTool {
     
     ConfigKey<String> PROP_HOST = newStringConfigKey("host", "Host to connect 
to (required)", null);
     ConfigKey<Integer> PROP_PORT = ConfigKeys.newIntegerConfigKey("port", 
"WinRM port to use when connecting to the remote machine");
-    ConfigKey<Boolean> USE_HTTPS_WINRM = 
ConfigKeys.newBooleanConfigKey("winrm.useHttps", "The parameter configures 
tells the machine sensors whether the winrm port is over https. If the 
parameter is true then 5986 will be used as a winrm port.", false);
-
+    ConfigKey<Boolean> USE_HTTPS_WINRM = 
ConfigKeys.newBooleanConfigKey("winrm.useHttps", "The parameter tells the 
machine sensors whether the winrm port is over https. If the parameter is true 
then 5986 will be used as a winrm port.", false);
+    ConfigKey<Integer> RETRIES_OF_NETWORK_FAILURES = 
ConfigKeys.newIntegerConfigKey("retriesOfNetworkFailures", "The parameter sets 
the number of retries for connection failures. If you use high value, consider 
taking care for the machine's network.");
     /**
      * Flag which tells winrm whether to use Basic Authentication
      * or Negotiate plus NTLM.

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/69548bd0/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
----------------------------------------------------------------------
diff --git 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
index 64dc670..078ecdf 100644
--- 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
+++ 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
@@ -71,6 +71,7 @@ public class Winrm4jTool implements 
org.apache.brooklyn.util.core.internal.winrm
     private final Boolean useSecureWinrm;
     private final String authenticationScheme;
     private final String operationTimeout;
+    private final Integer retriesOfNetworkFailures;
     
     public Winrm4jTool(Map<String,?> config) {
         this(ConfigBag.newInstance(config));
@@ -88,6 +89,7 @@ public class Winrm4jTool implements 
org.apache.brooklyn.util.core.internal.winrm
         execRetryDelay = getRequiredConfig(config, PROP_EXEC_RETRY_DELAY);
         logCredentials = getRequiredConfig(config, LOG_CREDENTIALS);
         operationTimeout = config.get(OPERATION_TIMEOUT);
+        retriesOfNetworkFailures = config.get(RETRIES_OF_NETWORK_FAILURES);
     }
     
     @Override
@@ -151,6 +153,7 @@ public class Winrm4jTool implements 
org.apache.brooklyn.util.core.internal.winrm
             Duration execTimestamp = null;
             try {
                 WinRmTool tool = connect();
+                tool.setRetriesForConnectionFailures(retriesOfNetworkFailures);
                 
tool.setOperationTimeout(Duration.of(operationTimeout).toMilliseconds());
                 connectTimestamp = Duration.of(stopwatch);
                 WinRmToolResponse result = task.apply(tool);

Reply via email to