You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2014/12/18 22:32:13 UTC
[05/50] incubator-slider git commit: SLIDER-633 enable secured oozie
workflows with slider
SLIDER-633 enable secured oozie workflows with slider
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/80abe081
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/80abe081
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/80abe081
Branch: refs/heads/feature/SLIDER-151_REST_API
Commit: 80abe081d6161cfa03272634c08d73052447c032
Parents: fd0e7d3
Author: Jon Maron <jm...@hortonworks.com>
Authored: Tue Dec 2 11:41:15 2014 -0500
Committer: Jon Maron <jm...@hortonworks.com>
Committed: Tue Dec 2 11:41:15 2014 -0500
----------------------------------------------------------------------
.../slider/core/launch/AbstractLauncher.java | 14 +++++++++++++-
.../slider/core/launch/AppMasterLauncher.java | 20 +++++++++++++++-----
2 files changed, 28 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80abe081/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java b/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
index 94f8f24..f1f5704 100644
--- a/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
+++ b/slider-core/src/main/java/org/apache/slider/core/launch/AbstractLauncher.java
@@ -42,6 +42,7 @@ import org.apache.slider.core.conf.MapOperations;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -210,7 +211,18 @@ public abstract class AbstractLauncher extends Configured {
//tokens
log.debug("{} tokens", credentials.numberOfTokens());
DataOutputBuffer dob = new DataOutputBuffer();
- credentials.writeTokenStorageToStream(dob);
+ String tokenFileName =
+ this.getConf().get("mapreduce.job.credentials.binary");
+ if (tokenFileName != null) {
+ // use delegation tokens, i.e. from Oozie
+ Credentials creds =
+ Credentials.readTokenStorageFile(new File(tokenFileName), getConf());
+ creds.writeTokenStorageToStream(dob);
+ } else {
+ // normal auth
+ credentials.writeTokenStorageToStream(dob);
+ }
+
ByteBuffer tokenBuffer = ByteBuffer.wrap(dob.getData(), 0, dob.getLength());
containerLaunchContext.setTokens(tokenBuffer);
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80abe081/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java b/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
index c5526ed..63c2abe 100644
--- a/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
+++ b/slider-core/src/main/java/org/apache/slider/core/launch/AppMasterLauncher.java
@@ -221,10 +221,14 @@ public class AppMasterLauncher extends AbstractLauncher {
);
}
- // For now, only getting tokens for the default file-system.
- FileSystem fs = coreFileSystem.getFileSystem();
- Token<? extends TokenIdentifier>[] tokens = fs.addDelegationTokens(tokenRenewer,
- credentials);
+ Token<? extends TokenIdentifier>[] tokens = null;
+ boolean tokensProvided =
+ this.getConf().get("mapreduce.job.credentials.binary") != null;
+ if (!tokensProvided) {
+ // For now, only getting tokens for the default file-system.
+ FileSystem fs = coreFileSystem.getFileSystem();
+ tokens = fs.addDelegationTokens(tokenRenewer, credentials);
+ }
// obtain the token expiry from the first token - should be the same for all
// HDFS tokens
if (tokens != null && tokens.length > 0) {
@@ -234,7 +238,13 @@ public class AppMasterLauncher extends AbstractLauncher {
log.info("HDFS delegation tokens for AM launch context require renewal by {}",
DateFormat.getDateTimeInstance().format(d));
} else {
- log.warn("No HDFS delegation tokens obtained for AM launch context");
+ if (!tokensProvided) {
+ log.warn("No HDFS delegation tokens obtained for AM launch context");
+ } else {
+ log.info("Tokens provided via mapreduce.job.credentials.binary property "
+ + "being leveraged for AM launch");
+ }
+
}
}