HADOOP-10774. Update KerberosTestUtils for hadoop-auth tests when using IBM Java (sangamesh via aw)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b01d3433 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b01d3433 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b01d3433 Branch: refs/heads/YARN-2928 Commit: b01d3433aefb68a0f66a48ac9cae7d32463ab95e Parents: 039366e Author: Allen Wittenauer <a...@apache.org> Authored: Sat Feb 28 23:22:06 2015 -0800 Committer: Allen Wittenauer <a...@apache.org> Committed: Sat Feb 28 23:22:06 2015 -0800 ---------------------------------------------------------------------- .../authentication/KerberosTestUtils.java | 40 ++++++++++++++------ hadoop-common-project/hadoop-common/CHANGES.txt | 3 ++ 2 files changed, 32 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b01d3433/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/KerberosTestUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/KerberosTestUtils.java b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/KerberosTestUtils.java index 7629a30..8fc08e2 100644 --- a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/KerberosTestUtils.java +++ b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/KerberosTestUtils.java @@ -32,12 +32,14 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.Callable; +import static org.apache.hadoop.util.PlatformName.IBM_JAVA; + /** * Test helper class for Java Kerberos setup. */ public class KerberosTestUtils { private static String keytabFile = new File(System.getProperty("test.dir", "target"), - UUID.randomUUID().toString()).toString(); + UUID.randomUUID().toString()).getAbsolutePath(); public static String getRealm() { return "EXAMPLE.COM"; @@ -65,18 +67,34 @@ public class KerberosTestUtils { @Override public AppConfigurationEntry[] getAppConfigurationEntry(String name) { Map<String, String> options = new HashMap<String, String>(); - options.put("keyTab", KerberosTestUtils.getKeytabFile()); - options.put("principal", principal); - options.put("useKeyTab", "true"); - options.put("storeKey", "true"); - options.put("doNotPrompt", "true"); - options.put("useTicketCache", "true"); - options.put("renewTGT", "true"); - options.put("refreshKrb5Config", "true"); - options.put("isInitiator", "true"); + if (IBM_JAVA) { + options.put("useKeytab", KerberosTestUtils.getKeytabFile().startsWith("file://") ? + KerberosTestUtils.getKeytabFile() : "file://" + KerberosTestUtils.getKeytabFile()); + options.put("principal", principal); + options.put("refreshKrb5Config", "true"); + options.put("credsType", "both"); + } else { + options.put("keyTab", KerberosTestUtils.getKeytabFile()); + options.put("principal", principal); + options.put("useKeyTab", "true"); + options.put("storeKey", "true"); + options.put("doNotPrompt", "true"); + options.put("useTicketCache", "true"); + options.put("renewTGT", "true"); + options.put("refreshKrb5Config", "true"); + options.put("isInitiator", "true"); + } String ticketCache = System.getenv("KRB5CCNAME"); if (ticketCache != null) { - options.put("ticketCache", ticketCache); + if (IBM_JAVA) { + // IBM JAVA only respect system property and not env variable + // The first value searched when "useDefaultCcache" is used. + System.setProperty("KRB5CCNAME", ticketCache); + options.put("useDefaultCcache", "true"); + options.put("renewTGT", "true"); + } else { + options.put("ticketCache", ticketCache); + } } options.put("debug", "true"); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b01d3433/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 74bf558..3c4dc99 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -403,6 +403,9 @@ Trunk (Unreleased) HADOOP-11637. bash location hard-coded in shell scripts (aw) + HADOOP-10774. Update KerberosTestUtils for hadoop-auth tests when using + IBM Java (sangamesh via aw) + OPTIMIZATIONS HADOOP-7761. Improve the performance of raw comparisons. (todd)