You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/03/03 12:01:31 UTC

[2/6] brooklyn-server git commit: WinRm4j: Add environment flags on initialization

WinRm4j: Add environment flags on initialization


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

Branch: refs/heads/master
Commit: 60474242490d52721e8ac918ffb6880a668d79ac
Parents: c564cac
Author: Valentin Aitken <bo...@gmail.com>
Authored: Fri Feb 17 19:08:15 2017 +0200
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Fri Mar 3 10:03:39 2017 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/brooklyn/feed/windows/CmdFeed.java   | 4 +++-
 .../apache/brooklyn/util/core/internal/winrm/WinRmTool.java   | 6 ++++++
 .../util/core/internal/winrm/winrm4j/Winrm4jTool.java         | 7 ++++++-
 3 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/60474242/software/winrm/src/main/java/org/apache/brooklyn/feed/windows/CmdFeed.java
----------------------------------------------------------------------
diff --git a/software/winrm/src/main/java/org/apache/brooklyn/feed/windows/CmdFeed.java b/software/winrm/src/main/java/org/apache/brooklyn/feed/windows/CmdFeed.java
index 94d451a..883b291 100644
--- a/software/winrm/src/main/java/org/apache/brooklyn/feed/windows/CmdFeed.java
+++ b/software/winrm/src/main/java/org/apache/brooklyn/feed/windows/CmdFeed.java
@@ -25,6 +25,7 @@ import org.apache.brooklyn.feed.CommandPollConfig;
 import org.apache.brooklyn.feed.ssh.SshPollValue;
 import org.apache.brooklyn.location.winrm.WinRmMachineLocation;
 import org.apache.brooklyn.util.core.config.ConfigBag;
+import org.apache.brooklyn.util.core.internal.winrm.WinRmTool;
 import org.apache.brooklyn.util.core.internal.winrm.WinRmToolResponse;
 
 import java.io.IOException;
@@ -71,7 +72,8 @@ public class CmdFeed extends AbstractCommandFeed {
 
         WinRmToolResponse winRmToolResponse;
         int exitStatus;
-        ConfigBag flags = ConfigBag.newInstanceExtending(config().getBag());
+        ConfigBag flags = ConfigBag.newInstanceExtending(config().getBag())
+                .configure(WinRmTool.ENVIRONMENT, env);
         winRmToolResponse = machine.executeCommand(flags.getAllConfig(),
                 ImmutableList.of(command));
         exitStatus = winRmToolResponse.getStatusCode();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/60474242/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 9cd6abc..2cfb310 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
@@ -23,9 +23,12 @@ import static org.apache.brooklyn.core.config.ConfigKeys.newStringConfigKey;
 
 import java.io.InputStream;
 import java.util.List;
+import java.util.Map;
 
+import com.google.common.reflect.TypeToken;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
+import org.apache.brooklyn.core.config.MapConfigKey;
 import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
 import org.apache.brooklyn.util.time.Duration;
 
@@ -45,6 +48,9 @@ public interface WinRmTool {
     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 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.", 4);
+    ConfigKey<Map<String,String>> ENVIRONMENT = MapConfigKey.builder(new TypeToken<Map<String,String>>() {})
+            .name("winrm.environment")
+            .description("WinRM Environment variables").build();
     /**
      * Flag which tells winrm whether to use Basic Authentication
      * or Negotiate plus NTLM.

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/60474242/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 42bb4cb..ea1fa99 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
@@ -74,7 +74,8 @@ public class Winrm4jTool implements org.apache.brooklyn.util.core.internal.winrm
     private final String authenticationScheme;
     private final String operationTimeout;
     private final Integer retriesOfNetworkFailures;
-    
+    private final Map<String, String> environment;
+
     public Winrm4jTool(Map<String,?> config) {
         this(ConfigBag.newInstance(config));
     }
@@ -93,6 +94,7 @@ public class Winrm4jTool implements org.apache.brooklyn.util.core.internal.winrm
         logCredentials = getRequiredConfig(config, LOG_CREDENTIALS);
         operationTimeout = config.get(OPERATION_TIMEOUT);
         retriesOfNetworkFailures = config.get(RETRIES_OF_NETWORK_FAILURES);
+        environment = config.get(ENVIRONMENT);
     }
     
     @Override
@@ -202,6 +204,9 @@ public class Winrm4jTool implements org.apache.brooklyn.util.core.internal.winrm
         builder.setAuthenticationScheme(authenticationScheme);
         builder.useHttps(useSecureWinrm);
         builder.port(port);
+        if (environment != null) {
+            builder.environment(environment);
+        }
 
         // FIXME USE_HTTPS_WINRM shouldn't disable certificates checks
         // However to do that Winrm4JTool should also support whitelisting certificates.