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:54 UTC
[16/23] git commit: SLIDER-516 registry command to take a user like
"--user steve"
SLIDER-516 registry command to take a user like "--user steve"
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/baa79a74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/baa79a74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/baa79a74
Branch: refs/heads/feature/SLIDER-481_allow_dedicated_handling_of_exports
Commit: baa79a7464e4513e6428d66a830341c09396b1e2
Parents: d08a61d
Author: Steve Loughran <st...@apache.org>
Authored: Tue Oct 14 16:07:22 2014 -0700
Committer: Steve Loughran <st...@apache.org>
Committed: Tue Oct 14 16:07:22 2014 -0700
----------------------------------------------------------------------
.../org/apache/slider/client/SliderClient.java | 9 ++++++++-
.../common/params/ActionRegistryArgs.java | 6 +++++-
.../apache/slider/common/params/Arguments.java | 1 +
.../TestStandaloneYarnRegistryAM.groovy | 20 +++++++++++++++++++-
4 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/baa79a74/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 750bfaa..2589814 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
@@ -2728,7 +2728,14 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe
private ServiceRecord lookupServiceRecord(ActionRegistryArgs registryArgs) throws
SliderException,
IOException {
- String path = servicePath(currentUser(), registryArgs.serviceType,
+ String user;
+ if (StringUtils.isNotEmpty(registryArgs.user)) {
+ user = RegistryPathUtils.encodeForRegistry(registryArgs.user);
+ } else {
+ user = currentUser();
+ }
+
+ String path = servicePath(user, registryArgs.serviceType,
registryArgs.name);
return resolve(path);
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/baa79a74/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java b/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java
index df40ef1..deae4eb 100644
--- a/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java
+++ b/slider-core/src/main/java/org/apache/slider/common/params/ActionRegistryArgs.java
@@ -52,6 +52,7 @@ public class ActionRegistryArgs extends AbstractActionArgs {
+ Arguments.ARG_NAME + " <name> "
+ " )"
+ "[" + Arguments.ARG_VERBOSE + "] "
+ + "[" + Arguments.ARG_USER + "] "
+ "[" + Arguments.ARG_OUTPUT + " <filename> ] "
+ "[" + Arguments.ARG_SERVICETYPE + " <servicetype> ] "
+ "[" + Arguments.ARG_FORMAT + " <xml|json|properties>] "
@@ -121,7 +122,10 @@ public class ActionRegistryArgs extends AbstractActionArgs {
@Parameter(names = {ARG_INTERNAL},
description = "fetch internal registry entries")
public boolean internal;
-
+
+ @Parameter(names = {ARG_USER},
+ description = "the name of the user whose application is being resolved")
+ public String user;
/**
* validate health of all the different operations
* @throws BadCommandArgumentsException
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/baa79a74/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java b/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java
index 4deebd7..1ea575e 100644
--- a/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java
+++ b/slider-core/src/main/java/org/apache/slider/common/params/Arguments.java
@@ -75,6 +75,7 @@ public interface Arguments {
String ARG_SERVICETYPE = "--servicetype";
String ARG_SYSPROP = "-S";
String ARG_TEMPLATE = "--template";
+ String ARG_USER = "--user";
String ARG_VERBOSE = "--verbose";
String ARG_WAIT = "--wait";
String ARG_ZKPATH = "--zkpath";
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/baa79a74/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneYarnRegistryAM.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneYarnRegistryAM.groovy b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneYarnRegistryAM.groovy
index e75cc57..78b4514 100644
--- a/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneYarnRegistryAM.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/agent/standalone/TestStandaloneYarnRegistryAM.groovy
@@ -23,6 +23,7 @@ import groovy.util.logging.Slf4j
import org.apache.hadoop.fs.FileUtil
import org.apache.hadoop.fs.PathNotFoundException
import org.apache.hadoop.registry.client.binding.RegistryPathUtils
+import org.apache.hadoop.registry.client.binding.RegistryUtils
import org.apache.hadoop.yarn.api.records.ApplicationReport
import org.apache.hadoop.yarn.api.records.YarnApplicationState
import org.apache.hadoop.yarn.conf.YarnConfiguration
@@ -61,7 +62,7 @@ import static org.apache.slider.core.registry.info.CustomRegistryConstants.*
/**
* work with a YARN registry
*/
-@CompileStatic
+//@CompileStatic
@Slf4j
class TestStandaloneYarnRegistryAM extends AgentMiniClusterTestBase {
@@ -448,6 +449,7 @@ class TestStandaloneYarnRegistryAM extends AgentMiniClusterTestBase {
def yarn_site_config = PublishedArtifacts.YARN_SITE_CONFIG
registryArgs.getConf = yarn_site_config
+ registryArgs.user = currentUser()
//properties format
registryArgs.format = "properties"
@@ -463,6 +465,7 @@ class TestStandaloneYarnRegistryAM extends AgentMiniClusterTestBase {
registryArgs = new ActionRegistryArgs(clustername)
registryArgs.getConf = yarn_site_config
registryArgs.out = outputDir
+ registryArgs.user = ""
describe registryArgs.toString()
client.actionRegistry(registryArgs)
assert new File(outputDir, yarn_site_config + ".xml").exists()
@@ -477,6 +480,21 @@ class TestStandaloneYarnRegistryAM extends AgentMiniClusterTestBase {
registryArgs.getConf = unknownFilename
assert SliderExitCodes.EXIT_NOT_FOUND == client.actionRegistry(registryArgs)
+ //look for a different user
+ try {
+ def args = new ActionRegistryArgs(
+ name: clustername,
+ user: "unknown",
+ serviceType: SliderKeys.APP_TYPE,
+ listConf: true,
+ verbose: true
+ )
+ client.actionRegistry(args)
+ fail("registry operation succeeded unexpectedly on $args")
+ } catch (UnknownApplicationInstanceException expected) {
+ // expected
+ }
+
describe "stop cluster"
//now kill that cluster
assert 0 == clusterActionFreeze(client, clustername)