You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by go...@apache.org on 2017/01/16 23:48:00 UTC
incubator-slider git commit: SLIDER-1186 Slider incorrectly assumes
that keytabs are provided for AM
Repository: incubator-slider
Updated Branches:
refs/heads/develop d5aebbbb5 -> 098507719
SLIDER-1186 Slider incorrectly assumes that keytabs are provided for AM
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/09850771
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/09850771
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/09850771
Branch: refs/heads/develop
Commit: 0985077198c21cee6789d8413ecfb034e1546764
Parents: d5aebbb
Author: Gour Saha <go...@apache.org>
Authored: Mon Jan 16 15:47:50 2017 -0800
Committer: Gour Saha <go...@apache.org>
Committed: Mon Jan 16 15:47:50 2017 -0800
----------------------------------------------------------------------
.../security/SecurityConfiguration.java | 18 ++++++++++--------
.../security/SecurityConfigurationTest.groovy | 19 +++++++++++++++++++
2 files changed, 29 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/09850771/slider-core/src/main/java/org/apache/slider/server/appmaster/security/SecurityConfiguration.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/security/SecurityConfiguration.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/security/SecurityConfiguration.java
index 9a89c39..27fb0d7 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/security/SecurityConfiguration.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/security/SecurityConfiguration.java
@@ -17,6 +17,8 @@
package org.apache.slider.server.appmaster.security;
import com.google.common.base.Preconditions;
+
+import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.security.UserGroupInformation;
import static org.apache.slider.core.main.LauncherExitCodes.EXIT_UNAUTHORIZED;
@@ -126,14 +128,14 @@ public class SecurityConfiguration {
}
public boolean isKeytabProvided() {
- boolean keytabProvided = instanceDefinition.getAppConfOperations()
- .getComponent(SliderKeys.COMPONENT_AM)
- .get(SliderXmlConfKeys.KEY_AM_KEYTAB_LOCAL_PATH) != null ||
- instanceDefinition.getAppConfOperations()
- .getComponent(SliderKeys.COMPONENT_AM).
- get(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME) != null;
- return keytabProvided;
-
+ String keytabLocalPath = instanceDefinition.getAppConfOperations()
+ .getComponent(SliderKeys.COMPONENT_AM)
+ .get(SliderXmlConfKeys.KEY_AM_KEYTAB_LOCAL_PATH);
+ String keytabName = instanceDefinition.getAppConfOperations()
+ .getComponent(SliderKeys.COMPONENT_AM)
+ .get(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME);
+ return StringUtils.isNotBlank(keytabLocalPath)
+ || StringUtils.isNotBlank(keytabName);
}
public File getKeytabFile(AggregateConf instanceDefinition)
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/09850771/slider-core/src/test/groovy/org/apache/slider/server/appmaster/security/SecurityConfigurationTest.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/security/SecurityConfigurationTest.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/security/SecurityConfigurationTest.groovy
index e543b7c..be1205b 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/security/SecurityConfigurationTest.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/security/SecurityConfigurationTest.groovy
@@ -159,4 +159,23 @@ public class SecurityConfigurationTest {
securityConfiguration.getKeytabFile(aggregateConf).getAbsolutePath()
}
+ @Test
+ public void testAMKeytabProvided() throws Throwable {
+ Configuration config = new Configuration()
+ AggregateConf aggregateConf = new AggregateConf();
+ MapOperations compOps =
+ aggregateConf.appConfOperations.getOrAddComponent(SliderKeys.COMPONENT_AM)
+ compOps.put(SliderXmlConfKeys.KEY_AM_KEYTAB_LOCAL_PATH, " ")
+
+ SecurityConfiguration securityConfiguration =
+ new SecurityConfiguration(config, aggregateConf, "testCluster")
+ assert !securityConfiguration.isKeytabProvided()
+
+ compOps.put(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME, "")
+ assert !securityConfiguration.isKeytabProvided()
+
+ compOps.put(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME, "some.keytab")
+ assert securityConfiguration.isKeytabProvided()
+ }
+
}