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.