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); + } } } }
