AMBARI-14233. Ranger LDAP configs messed up after Ambari upgrade from 2.1.2 to 
2.1.3. Additional fix (dlysnichenko)


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

Branch: refs/heads/trunk
Commit: e67521e27c533bf7aa131904a8ba32e8e2f5b319
Parents: 2915a9a
Author: Lisnichenko Dmitro <[email protected]>
Authored: Mon Dec 7 14:18:58 2015 +0200
Committer: Lisnichenko Dmitro <[email protected]>
Committed: Mon Dec 7 14:19:58 2015 +0200

----------------------------------------------------------------------
 .../server/upgrade/UpgradeCatalog213.java       | 27 +++++++++++---------
 1 file changed, 15 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e67521e2/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
index 956f4cb..a3f3d39 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog213.java
@@ -1244,18 +1244,21 @@ public class UpgradeCatalog213 extends 
AbstractUpgradeCatalog {
     for (final Cluster cluster : 
getCheckedClusterMap(ambariManagementController.getClusters()).values()) {
       Config rangerUgsyncSiteProperties = 
cluster.getDesiredConfigByType(RANGER_UGSYNC_SITE_CONFIG);
       if (rangerUgsyncSiteProperties != null && 
rangerUgsyncSiteProperties.getProperties().containsKey(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY))
 {
-        if 
(rangerUgsyncSiteProperties.getProperties().get(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY).equals("ldap"))
 {
-          Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
-              "org.apache.ranger.ldapusersync.process.LdapUserGroupBuilder");
-          updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
-        } else if 
(rangerUgsyncSiteProperties.getProperties().get(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY).equals("unix"))
 {
-          Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
-              "org.apache.ranger.unixusersync.process.UnixUserGroupBuilder");
-          updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
-        } else if 
(rangerUgsyncSiteProperties.getProperties().get(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY).equals("file"))
 {
-          Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
-              
"org.apache.ranger.unixusersync.process.FileSourceUserGroupBuilder");
-          updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
+        String sourceClassValue = 
rangerUgsyncSiteProperties.getProperties().get(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY);
+        if (sourceClassValue != null) {
+          if ("ldap".equals(sourceClassValue)) {
+            Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
+                "org.apache.ranger.ldapusersync.process.LdapUserGroupBuilder");
+            updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
+          } else if ("unix".equals(sourceClassValue)) {
+            Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
+                "org.apache.ranger.unixusersync.process.UnixUserGroupBuilder");
+            updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
+          } else if ("file".equals(sourceClassValue)) {
+            Map<String, String> updates = 
Collections.singletonMap(RANGER_USERSYNC_SOURCE_IMPL_CLASS_PROPERTY,
+                
"org.apache.ranger.unixusersync.process.FileSourceUserGroupBuilder");
+            updateConfigurationPropertiesForCluster(cluster, 
RANGER_UGSYNC_SITE_CONFIG, updates, true, false);
+          }
         }
       }
     }

Reply via email to