You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by wu...@apache.org on 2022/11/10 17:54:12 UTC
[ambari] branch trunk updated: AMBARI-25295: Ambari Server Error on submitting EU (#3474)
This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 283bc3b35f AMBARI-25295: Ambari Server Error on submitting EU (#3474)
283bc3b35f is described below
commit 283bc3b35f3cc45d3503d3f9c10e823b78c69eb3
Author: Zhiguo Wu <wu...@apache.org>
AuthorDate: Fri Nov 11 01:54:05 2022 +0800
AMBARI-25295: Ambari Server Error on submitting EU (#3474)
---
.../serveraction/kerberos/IPAKerberosOperationHandler.java | 9 +++++++--
.../serveraction/kerberos/MITKerberosOperationHandler.java | 12 ++++++++++--
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/IPAKerberosOperationHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/IPAKerberosOperationHandler.java
index 07ab77ee68..d9732e9dd8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/IPAKerberosOperationHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/IPAKerberosOperationHandler.java
@@ -18,6 +18,7 @@
package org.apache.ambari.server.serveraction.kerberos;
+import java.util.Arrays;
import java.util.Map;
import java.util.Set;
@@ -254,13 +255,17 @@ public class IPAKerberosOperationHandler extends KDCKerberosOperationHandler {
}
@Override
- protected String[] getKinitCommand(String executableKinit, PrincipalKeyCredential credentials, String credentialsCache, Map<String, String> kerberosConfiguration) {
- return new String[]{
+ protected String[] getKinitCommand(String executableKinit, PrincipalKeyCredential credentials, String credentialsCache, Map<String, String> kerberosConfiguration) throws KerberosOperationException {
+ String [] command = new String[]{
executableKinit,
"-c",
credentialsCache,
credentials.getPrincipal()
};
+ if (Arrays.asList(command).contains(null)){
+ throw new KerberosOperationException("Got a null value, can not create 'kinit' command");
+ }
+ return command;
}
@Override
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java
index e2467569eb..c3831006bd 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.serveraction.kerberos;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -342,8 +343,11 @@ public class MITKerberosOperationHandler extends KDCKerberosOperationHandler {
protected String[] getKinitCommand(String executableKinit, PrincipalKeyCredential credentials, String credentialsCache, Map<String, String> kerberosConfiguration) throws KerberosOperationException {
// kinit -c <path> -S kadmin/`hostname -f` <principal>
try {
- final String kadminPrincipalName = variableReplacementHelper.replaceVariables(kerberosConfiguration.get(KERBEROS_ENV_KADMIN_PRINCIPAL_NAME), buildReplacementsMap(kerberosConfiguration));
- return new String[]{
+ String kadminPrincipalName = variableReplacementHelper.replaceVariables(kerberosConfiguration.get(KERBEROS_ENV_KADMIN_PRINCIPAL_NAME), buildReplacementsMap(kerberosConfiguration));
+ if (kadminPrincipalName == null) {
+ kadminPrincipalName = String.format("kadmin/%s", getAdminServerHost(false));
+ }
+ String [] command = new String[]{
executableKinit,
"-c",
credentialsCache,
@@ -351,6 +355,10 @@ public class MITKerberosOperationHandler extends KDCKerberosOperationHandler {
kadminPrincipalName,
credentials.getPrincipal()
};
+ if (Arrays.asList(command).contains(null)){
+ throw new KerberosOperationException("Got a null value, can not create 'kinit' command");
+ }
+ return command;
} catch (AmbariException e) {
throw new KerberosOperationException("Error while getting 'kinit' command", e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org