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)

Reply via email to