You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by sm...@apache.org on 2014/10/15 03:07:57 UTC
[19/23] git commit: SLIDER-520 add funtests for diagnostics
SLIDER-520 add funtests for diagnostics
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/c6c5955b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/c6c5955b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/c6c5955b
Branch: refs/heads/feature/SLIDER-481_allow_dedicated_handling_of_exports
Commit: c6c5955b252fe640f20c70a60fbe201d939fba68
Parents: 99fd391
Author: Steve Loughran <st...@apache.org>
Authored: Tue Oct 14 17:36:49 2014 -0700
Committer: Steve Loughran <st...@apache.org>
Committed: Tue Oct 14 17:36:49 2014 -0700
----------------------------------------------------------------------
slider-assembly/src/conf/log4j.properties | 2 +
.../org/apache/slider/client/SliderClient.java | 103 ++++++++++++-------
.../apache/slider/common/params/ClientArgs.java | 2 +-
.../server/appmaster/SliderAppMaster.java | 6 +-
.../funtest/framework/CommandTestBase.groovy | 15 +++
.../slider/funtest/framework/SliderShell.groovy | 23 ++++-
.../commands/DiagnosticsCommandIT.groovy | 6 +-
7 files changed, 107 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-assembly/src/conf/log4j.properties
----------------------------------------------------------------------
diff --git a/slider-assembly/src/conf/log4j.properties b/slider-assembly/src/conf/log4j.properties
index 3c0d08c..b4a9aa4 100644
--- a/slider-assembly/src/conf/log4j.properties
+++ b/slider-assembly/src/conf/log4j.properties
@@ -56,3 +56,5 @@ log4j.logger.org.apache.hadoop.hdfs=WARN
log4j.logger.org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor=WARN
log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WARN
log4j.logger.org.apache.zookeeper=WARN
+log4j.logger.org.apache.curator.framework.state=ERROR
+log4j.logger.org.apache.curator.framework.imps=WARN
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index d5725e0..50a7097 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -2585,46 +2585,60 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
}
}
- private void actionDiagnosticClient(ActionDiagnosticArgs diagnosticArgs)
+ private void actionDiagnosticClient(ActionDiagnosticArgs diagnosticArgs)
throws SliderException, IOException {
- String currentCommandPath = SliderUtils.getCurrentCommandPath();
- SliderVersionInfo.loadAndPrintVersionInfo(log);
- String clientConfigPath = SliderUtils.getClientConfigPath();
- String jdkInfo = SliderUtils.getJDKInfo();
- println("The slider command path: " + currentCommandPath);
- println("The slider-client.xml used by current running command path: "
- + clientConfigPath);
- println(jdkInfo);
-
- // verbose?
- if (diagnosticArgs.verbose) {
- // do the environment
- Map<String, String> env = System.getenv();
- Set<String> envList = ConfigHelper.sortedConfigKeys(env.entrySet());
- StringBuilder builder = new StringBuilder("Environment variables:\n");
- for (String key : envList) {
- builder.append(key)
- .append("=")
- .append(env.get(key))
- .append("\n");
+ try {
+ String currentCommandPath = SliderUtils.getCurrentCommandPath();
+ SliderVersionInfo.loadAndPrintVersionInfo(log);
+ String clientConfigPath = SliderUtils.getClientConfigPath();
+ String jdkInfo = SliderUtils.getJDKInfo();
+ println("The slider command path: %s", currentCommandPath);
+ println("The slider-client.xml used by current running command path: %s",
+ clientConfigPath);
+ println(jdkInfo);
+
+ // security info
+ Configuration config = getConfig();
+ if (SliderUtils.isHadoopClusterSecure(config)) {
+ println("Hadoop Cluster is secure");
+ println("Login user is %s", UserGroupInformation.getLoginUser());
+ println("Current user is %s", UserGroupInformation.getCurrentUser());
+
+
+ } else {
+ println("Hadoop Cluster is insecure");
}
- println(builder.toString());
-
- // then the config
- println("Slider client configuration:\n" +
- ConfigHelper.dumpConfigToString(getConfig()));
+
+
+ // verbose?
+ if (diagnosticArgs.verbose) {
+ // do the environment
+ Map<String, String> env = System.getenv();
+ Set<String> envList = ConfigHelper.sortedConfigKeys(env.entrySet());
+ StringBuilder builder = new StringBuilder("Environment variables:\n");
+ for (String key : envList) {
+ builder.append(key)
+ .append("=")
+ .append(env.get(key))
+ .append("\n");
+ }
+ println(builder.toString());
+
+ // then the config
+ println("Slider client configuration:\n" +
+ ConfigHelper.dumpConfigToString(config));
+ }
+
+
+ SliderUtils.validateSliderClientEnvironment(log);
+ } catch (SliderException e) {
+ log.error(e.toString());
+ throw e;
+ } catch (IOException e) {
+ log.error(e.toString());
+ throw e;
}
- try {
- SliderUtils.validateSliderClientEnvironment(log);
- } catch (SliderException e) {
- log.error(e.toString());
- throw e;
- } catch (IOException e) {
- log.error(e.toString());
- throw e;
- }
-
}
@@ -2878,13 +2892,22 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
/**
* Output to standard out/stderr with a newline after
- * @param src source
+ * @param message message
*/
- private static void println(CharSequence src) {
- print(src);
+ private static void println(String message) {
+ print(message);
print("\n");
}
-
+ /**
+ * Output to standard out/stderr with a newline after, formatted
+ * @param message message
+ * @param args arguments for string formatting
+ */
+ private static void println(String message, Object ... args) {
+ print(String.format(message, args));
+ print("\n");
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java
index a4265aa..6e03d4b 100644
--- a/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java
+++ b/slider-core/src/main/java/org/apache/slider/common/params/ClientArgs.java
@@ -238,7 +238,7 @@ public class ClientArgs extends CommonArgs {
bindCoreAction(actionRegistryArgs);
} else if (SliderActions.ACTION_RESOLVE.equals(action)) {
- bindCoreAction(actionRegistryArgs);
+ bindCoreAction(actionResolveArgs);
} else if (SliderActions.ACTION_STATUS.equals(action)) {
bindCoreAction(actionStatusArgs);
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
index d2a8936..ef4d69c 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
@@ -412,10 +412,8 @@ public class SliderAppMaster extends AbstractSliderLaunchedService
log.debug("Authenticating as {}", ugi);
SliderUtils.verifyPrincipalSet(conf,
DFSConfigKeys.DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY);
- // always enforce protocol to be token-based.
- conf.set(
- CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
- SaslRpcServer.AuthMethod.TOKEN.toString());
+ } else {
+ log.info("Cluster is insecure");
}
log.info("Login user is {}", UserGroupInformation.getLoginUser());
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/CommandTestBase.groovy
----------------------------------------------------------------------
diff --git a/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/CommandTestBase.groovy b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/CommandTestBase.groovy
index cfe3006..33e109a 100644
--- a/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/CommandTestBase.groovy
+++ b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/CommandTestBase.groovy
@@ -167,6 +167,21 @@ abstract class CommandTestBase extends SliderTestUtils {
}
/**
+ * Print to system out
+ * @param string
+ */
+ static void println(String s) {
+ System.out.println(s)
+ }
+ /**
+ * Print to system out
+ * @param string
+ */
+ static void println() {
+ System.out.println()
+ }
+
+ /**
* Exec any slider command
* @param conf
* @param commands
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/SliderShell.groovy
----------------------------------------------------------------------
diff --git a/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/SliderShell.groovy b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/SliderShell.groovy
index 6effb46..a7fd58c 100644
--- a/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/SliderShell.groovy
+++ b/slider-funtest/src/main/groovy/org/apache/slider/funtest/framework/SliderShell.groovy
@@ -144,13 +144,29 @@ class SliderShell extends Shell {
log.error(toString())
log.error("return code = ${signCorrectReturnCode()}")
if (out.size() != 0) {
- log.info("\n<stdout>\n${out.join('\n')}\n</stdout>");
+ log.info("\n<stdout>\n${stdoutHistory}\n</stdout>");
}
if (err.size() != 0) {
- log.error("\n<stderr>\n${err.join('\n')}\n</stderr>");
+ log.error("\n<stderr>\n${stdErrHistory}\n</stderr>");
}
}
-
+
+ /**
+ * Get the stderr history
+ * @return the history
+ */
+ public String getStdErrHistory() {
+ return err.join('\n')
+ }
+
+ /**
+ * Get the stdout history
+ * @return the history
+ */
+ public String getStdoutHistory() {
+ return out.join('\n')
+ }
+
/**
* Assert the shell exited with a given error code
* if not the output is printed and an assertion is raised
@@ -161,7 +177,6 @@ class SliderShell extends Shell {
dumpOutput()
throw new SliderException(ret,
"Expected exit code of command ${command} : ${errorCode} - actual=${ret}")
-
}
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/c6c5955b/slider-funtest/src/test/groovy/org/apache/slider/funtest/commands/DiagnosticsCommandIT.groovy
----------------------------------------------------------------------
diff --git a/slider-funtest/src/test/groovy/org/apache/slider/funtest/commands/DiagnosticsCommandIT.groovy b/slider-funtest/src/test/groovy/org/apache/slider/funtest/commands/DiagnosticsCommandIT.groovy
index 430a75f..1a4ae7a 100644
--- a/slider-funtest/src/test/groovy/org/apache/slider/funtest/commands/DiagnosticsCommandIT.groovy
+++ b/slider-funtest/src/test/groovy/org/apache/slider/funtest/commands/DiagnosticsCommandIT.groovy
@@ -31,13 +31,17 @@ public class DiagnosticsCommandIT extends CommandTestBase {
@Test
public void testClientDiagnostics() throws Throwable {
- slider(0,
+ def shell = slider(0,
[
SliderActions.ACTION_DIAGNOSTIC,
Arguments.ARG_CLIENT,
Arguments.ARG_VERBOSE
]
)
+ println(shell.stdoutHistory)
+ println()
+ println(shell.stdErrHistory)
+
}
}