AMBARI-20140. Adding spark2 to a kerberized cluster with spark1 fails with 
keytab file does not exist error (Attila Magyar via adoroszlai)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/daf87666
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/daf87666
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/daf87666

Branch: refs/heads/trunk
Commit: daf876665a57966d58c1ed6aa0f53b14a81265c6
Parents: 19da582
Author: Attila Magyar <amag...@hortonworks.com>
Authored: Fri Feb 24 10:23:27 2017 +0100
Committer: Attila Doroszlai <adorosz...@hortonworks.com>
Committed: Fri Feb 24 10:24:08 2017 +0100

----------------------------------------------------------------------
 .../serveraction/kerberos/CreateKeytabFilesServerAction.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/daf87666/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
index 5d6ccc0..b968383 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreateKeytabFilesServerAction.java
@@ -218,8 +218,8 @@ public class CreateKeytabFilesServerAction extends 
KerberosServerAction {
               }
 
               if (password == null) {
-                if 
(hostName.equalsIgnoreCase(KerberosHelper.AMBARI_SERVER_HOST_NAME) || 
kerberosPrincipalHostDAO
-                  .exists(evaluatedPrincipal, hostEntity.getHostId())) {
+                if 
(hostName.equalsIgnoreCase(KerberosHelper.AMBARI_SERVER_HOST_NAME)
+                  || (kerberosPrincipalHostDAO.exists(evaluatedPrincipal, 
hostEntity.getHostId()) && destinationKeytabFile.exists())) { // same principal 
can have multiple keytabs, therefore checking if keytab file exists
                   // There is nothing to do for this since it must already 
exist and we don't want to
                   // regenerate the keytab
                   message = String.format("Skipping keytab file for %s, 
missing password indicates nothing to do", evaluatedPrincipal);

Reply via email to