You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2014/09/04 22:41:41 UTC
git commit: AMBARI-7153. Admin: error printed to log when going to
admin view.
Repository: ambari
Updated Branches:
refs/heads/trunk fcd8d1f7d -> 1946654b7
AMBARI-7153. Admin: error printed to log when going to admin view.
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1946654b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1946654b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1946654b
Branch: refs/heads/trunk
Commit: 1946654b71da61d097b3fc139dc2d12e20a116cb
Parents: fcd8d1f
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Thu Sep 4 13:40:35 2014 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Thu Sep 4 13:40:35 2014 -0700
----------------------------------------------------------------------
.../server/configuration/Configuration.java | 6 ++++++
.../authorization/AmbariLdapDataPopulator.java | 5 ++++-
ambari-server/src/main/python/ambari-server.py | 2 ++
.../AmbariLdapDataPopulatorTest.java | 22 +++++++++++---------
.../src/test/python/TestAmbariServer.py | 9 +++++---
5 files changed, 30 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/1946654b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 0d02b21..dc3a715 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -118,6 +118,7 @@ public class Configuration {
public static final String OJDBC_JAR_NAME_DEFAULT = "ojdbc6.jar";
public static final String MYSQL_JAR_NAME_KEY = "db.mysql.jdbc.name";
public static final String MYSQL_JAR_NAME_DEFAULT = "mysql-connector-java.jar";
+ public static final String IS_LDAP_CONFIGURED = "ambari.ldap.isConfigured";
public static final String LDAP_USE_SSL_KEY = "authentication.ldap.useSSL";
public static final String LDAP_PRIMARY_URL_KEY =
"authentication.ldap.primaryUrl";
@@ -280,6 +281,7 @@ public class Configuration {
private static final String LDAP_ADMIN_GROUP_MAPPING_RULES_DEFAULT =
"Ambari Administrators";
private static final String LDAP_GROUP_SEARCH_FILTER_DEFAULT = "";
+ private static final String IS_LDAP_CONFIGURED_DEFAULT = "false";
//TODO for development purposes only, should be changed to 'false'
private static final String SERVER_PERSISTENCE_TYPE_DEFAULT = "local";
private static final String SERVER_CONNECTION_MAX_IDLE_TIME =
@@ -804,6 +806,10 @@ public class Configuration {
return ldapServerProperties;
}
+ public boolean isLdapConfigured() {
+ return Boolean.parseBoolean(properties.getProperty(IS_LDAP_CONFIGURED, IS_LDAP_CONFIGURED_DEFAULT));
+ }
+
public String getServerOsType() {
return properties.getProperty(OS_VERSION_KEY, "");
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1946654b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
index b5f9341..a160716 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulator.java
@@ -84,12 +84,15 @@ public class AmbariLdapDataPopulator {
* @return true if enabled
*/
public boolean isLdapEnabled() {
+ if (!configuration.isLdapConfigured()) {
+ return false;
+ }
try {
final LdapTemplate ldapTemplate = loadLdapTemplate();
ldapTemplate.list(ldapServerProperties.getBaseDN());
return true;
} catch (Exception ex) {
- LOG.error("Could not connect to LDAP server", ex);
+ LOG.error("Could not connect to LDAP server - " + ex.getMessage());
return false;
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/1946654b/ambari-server/src/main/python/ambari-server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari-server.py b/ambari-server/src/main/python/ambari-server.py
index 661c937..81b79d1 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -215,6 +215,7 @@ NAGIOS_HTTPS = 'nagios.https'
JDBC_RCA_PASSWORD_ALIAS = "ambari.db.password"
CLIENT_SECURITY_KEY = "client.security"
+IS_LDAP_CONFIGURED = "ambari.ldap.isConfigured"
LDAP_MGR_PASSWORD_ALIAS = "ambari.ldap.manager.password"
LDAP_MGR_PASSWORD_PROPERTY = "authentication.ldap.managerPassword"
LDAP_MGR_USERNAME_PROPERTY = "authentication.ldap.managerDn"
@@ -3064,6 +3065,7 @@ def setup_ldap():
pass
# Persisting values
+ ldap_property_value_map[IS_LDAP_CONFIGURED] = "true"
update_properties(properties, ldap_property_value_map)
print 'Saving...done'
http://git-wip-us.apache.org/repos/asf/ambari/blob/1946654b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulatorTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulatorTest.java
index 868df06..23f53cf 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapDataPopulatorTest.java
@@ -123,17 +123,18 @@ public class AmbariLdapDataPopulatorTest {
}
@Test
- public void testIsLdapEnabled() {
+ public void testIsLdapEnabled_badConfiguration() {
final Configuration configuration = EasyMock.createNiceMock(Configuration.class);
final Users users = EasyMock.createNiceMock(Users.class);
final AmbariLdapDataPopulator populator = new AmbariLdapDataPopulatorTestInstance(configuration, users);
- EasyMock.expect(populator.loadLdapTemplate().list(EasyMock. <String>anyObject())).andReturn(Collections.emptyList()).once();
- EasyMock.replay(populator.loadLdapTemplate());
+ EasyMock.expect(configuration.isLdapConfigured()).andReturn(true);
+ EasyMock.expect(populator.loadLdapTemplate().list(EasyMock. <String>anyObject())).andThrow(new NullPointerException()).once();
+ EasyMock.replay(populator.loadLdapTemplate(), configuration);
- populator.isLdapEnabled();
- EasyMock.verify(populator.loadLdapTemplate());
+ Assert.assertFalse(populator.isLdapEnabled());
+ EasyMock.verify(populator.loadLdapTemplate(), configuration);
}
@Test
@@ -143,11 +144,12 @@ public class AmbariLdapDataPopulatorTest {
final AmbariLdapDataPopulator populator = new AmbariLdapDataPopulatorTestInstance(configuration, users);
+ EasyMock.expect(configuration.isLdapConfigured()).andReturn(true);
EasyMock.expect(populator.loadLdapTemplate().list(EasyMock. <String>anyObject())).andReturn(Collections.emptyList()).once();
- EasyMock.replay(populator.loadLdapTemplate());
+ EasyMock.replay(populator.loadLdapTemplate(),configuration);
Assert.assertTrue(populator.isLdapEnabled());
- EasyMock.verify(populator.loadLdapTemplate());
+ EasyMock.verify(populator.loadLdapTemplate(), configuration);
}
@Test
@@ -157,11 +159,11 @@ public class AmbariLdapDataPopulatorTest {
final AmbariLdapDataPopulator populator = new AmbariLdapDataPopulatorTestInstance(configuration, users);
- EasyMock.expect(populator.loadLdapTemplate().list(EasyMock. <String>anyObject())).andThrow(new NullPointerException()).once();
- EasyMock.replay(populator.loadLdapTemplate());
+ EasyMock.expect(configuration.isLdapConfigured()).andReturn(false);
+ EasyMock.replay(populator.loadLdapTemplate(), configuration);
Assert.assertFalse(populator.isLdapEnabled());
- EasyMock.verify(populator.loadLdapTemplate());
+ EasyMock.verify(populator.loadLdapTemplate(), configuration);
}
@Test
http://git-wip-us.apache.org/repos/asf/ambari/blob/1946654b/ambari-server/src/test/python/TestAmbariServer.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestAmbariServer.py b/ambari-server/src/test/python/TestAmbariServer.py
index 2ad6661..53f0ba1 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -4521,7 +4521,8 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
"authentication.ldap.groupMembershipAttr": "member",
"authentication.ldap.baseDn": "base",
"authentication.ldap.bindAnonymously": "true",
- "client.security": "ldap"
+ "client.security": "ldap",
+ "ambari.ldap.isConfigured": "true"
}
sorted_x = sorted(ldap_properties_map.iteritems(), key=operator.itemgetter(0))
@@ -4547,7 +4548,8 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
"authentication.ldap.groupMembershipAttr": "member",
"authentication.ldap.baseDn": "base",
"authentication.ldap.bindAnonymously": "true",
- "client.security": "ldap"
+ "client.security": "ldap",
+ "ambari.ldap.isConfigured": "true"
}
sorted_x = sorted(ldap_properties_map.iteritems(), key=operator.itemgetter(0))
@@ -4644,7 +4646,8 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
"authentication.ldap.groupNamingAttr": "test",
"client.security": "ldap", \
ambari_server.LDAP_MGR_PASSWORD_PROPERTY: ambari_server.get_alias_string( \
- ambari_server.LDAP_MGR_PASSWORD_ALIAS)
+ ambari_server.LDAP_MGR_PASSWORD_ALIAS),
+ "ambari.ldap.isConfigured": "true"
}
sorted_x = sorted(ldap_properties_map.iteritems(), key=operator.itemgetter(0))