You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ga...@apache.org on 2016/04/29 11:34:56 UTC

[1/4] incubator-ranger git commit: RANGER-255 : Email Address discrepancy fix

Repository: incubator-ranger
Updated Branches:
  refs/heads/master 3fa3de243 -> 7e08cd9f2


RANGER-255 : Email Address discrepancy fix

Signed-off-by: Gautam Borad <ga...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/26f959fd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/26f959fd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/26f959fd

Branch: refs/heads/master
Commit: 26f959fd23d1967b535a1311e5500cfaca9706d4
Parents: 3fa3de2
Author: Pradeep Agrawal <pr...@freestoneinfotech.com>
Authored: Mon Apr 18 21:08:07 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Apr 29 15:02:51 2016 +0530

----------------------------------------------------------------------
 .../src/main/java/org/apache/ranger/biz/UserMgr.java   | 13 ++++++++++++-
 .../test/java/org/apache/ranger/biz/TestUserMgr.java   |  4 ++--
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/26f959fd/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
index 2d09591..d96aa05 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
@@ -1118,6 +1118,13 @@ public class UserMgr {
 
 	public VXPortalUser createUser(VXPortalUser userProfile) {
 		checkAdminAccess();
+		String emailAddress = userProfile.getEmailAddress();
+		if (!stringUtil.isEmpty(emailAddress)) {
+			if(!stringUtil.validateEmail(emailAddress)){
+				logger.info("Invalid email address:" + emailAddress);
+				throw restErrorUtil.createRESTException("Please provide valid email address.",MessageEnums.INVALID_INPUT_DATA);
+			}
+		}
 		XXPortalUser xXPortalUser = this.createUser(userProfile,
 				RangerCommonEnums.STATUS_ENABLED);
 		return mapXXPortalUserVXPortalUser(xXPortalUser);
@@ -1138,7 +1145,11 @@ public class UserMgr {
 		if (loginId != null && !loginId.isEmpty()) {
 			xXPortalUser = this.findByLoginId(loginId);
 			if (xXPortalUser == null) {
-				if (emailAddress != null && !emailAddress.isEmpty()) {
+				if (!stringUtil.isEmpty(emailAddress)) {
+					if(!stringUtil.validateEmail(emailAddress)){
+						logger.info("Invalid email address:" + emailAddress);
+						throw restErrorUtil.createRESTException("Please provide valid email address.",MessageEnums.INVALID_INPUT_DATA);
+					}
 					xXPortalUser = this.findByEmailAddress(emailAddress);
 					if (xXPortalUser == null) {
 						xXPortalUser = this.createUser(userProfile,

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/26f959fd/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
index e617de6..2506c03 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestUserMgr.java
@@ -429,7 +429,7 @@ public class TestUserMgr {
 		Mockito.when(
 				xGroupPermissionDao.findbyVXPortalUserId(userProfile.getId()))
 				.thenReturn(xGroupPermissionList);
-
+		Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
 		VXPortalUser dbVXPortalUser = userMgr.createUser(userProfile);
 		Assert.assertNotNull(dbVXPortalUser);
 		Assert.assertEquals(user.getId(), dbVXPortalUser.getId());
@@ -467,7 +467,7 @@ public class TestUserMgr {
 		Mockito.when(daoManager.getXXPortalUserRole()).thenReturn(roleDao);
 		Mockito.when(roleDao.findByParentId(Mockito.anyLong()))
 				.thenReturn(list);
-
+		Mockito.when(stringUtil.validateEmail(Mockito.anyString())).thenReturn(true);
 		VXPortalUser dbVXPortalUser = userMgr
 				.createDefaultAccountUser(userProfile);
 		Assert.assertNotNull(dbVXPortalUser);


[4/4] incubator-ranger git commit: RANGER-953 : Tag Based policies menu is not appearing for 'ADMIN' role users after upgrade from 0.5

Posted by ga...@apache.org.
RANGER-953 : Tag Based policies menu is not appearing for 'ADMIN' role users after upgrade from 0.5

Signed-off-by: Gautam Borad <ga...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/7e08cd9f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/7e08cd9f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/7e08cd9f

Branch: refs/heads/master
Commit: 7e08cd9f2ac5ab461333e57e250382545b8e547c
Parents: 847a738
Author: Pradeep Agrawal <pr...@freestoneinfotech.com>
Authored: Thu Apr 28 08:43:44 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Apr 29 15:04:38 2016 +0530

----------------------------------------------------------------------
 .../java/org/apache/ranger/biz/XUserMgr.java    |   2 +-
 .../patch/PatchTagModulePersmission_J10005.java | 103 +++++++++++++++++++
 2 files changed, 104 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e08cd9f/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index 571947c..96f2ee3 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -265,7 +265,7 @@ public class XUserMgr extends XUserMgrBase {
 	}
 
 	// Insert or Updating Mapping permissions depending upon roles
-	private void createOrUpdateUserPermisson(VXPortalUser portalUser, Long moduleId, boolean isCreate) {
+	public void createOrUpdateUserPermisson(VXPortalUser portalUser, Long moduleId, boolean isCreate) {
 		VXUserPermission vXUserPermission;
 		XXUserPermission xUserPermission = daoManager.getXXUserPermission().findByModuleIdAndPortalUserId(portalUser.getId(), moduleId);
 		if (xUserPermission == null) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7e08cd9f/security-admin/src/main/java/org/apache/ranger/patch/PatchTagModulePersmission_J10005.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchTagModulePersmission_J10005.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchTagModulePersmission_J10005.java
new file mode 100644
index 0000000..bda4b30
--- /dev/null
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchTagModulePersmission_J10005.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ranger.patch;
+
+import java.util.List;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.log4j.Logger;
+import org.apache.ranger.db.RangerDaoManager;
+import org.apache.ranger.entity.XXModuleDef;
+import org.apache.ranger.entity.XXPortalUser;
+import org.apache.ranger.service.XPortalUserService;
+import org.apache.ranger.biz.XUserMgr;
+import org.apache.ranger.common.RangerConstants;
+import org.apache.ranger.util.CLIUtil;
+import org.apache.ranger.view.VXPortalUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PatchTagModulePersmission_J10005 extends BaseLoader {
+	private static Logger logger = Logger
+			.getLogger(PatchTagModulePersmission_J10005.class);
+
+	@Autowired
+	XUserMgr xUserMgr;
+
+	@Autowired
+	XPortalUserService xPortalUserService;
+
+	@Autowired
+	RangerDaoManager daoManager;
+
+	public static void main(String[] args) {
+		logger.info("main()");
+		try {
+			PatchTagModulePersmission_J10005 loader = (PatchTagModulePersmission_J10005) CLIUtil
+					.getBean(PatchTagModulePersmission_J10005.class);
+
+			loader.init();
+			while (loader.isMoreToProcess()) {
+				loader.load();
+			}
+			logger.info("Load complete. Exiting!!!");
+			System.exit(0);
+		} catch (Exception e) {
+			logger.error("Error loading", e);
+			System.exit(1);
+		}
+	}
+
+	@Override
+	public void init() throws Exception {
+		// Do Nothing
+	}
+
+	@Override
+	public void execLoad() {
+		logger.info("==> PermissionPatch.execLoad()");
+		assignPermissionOnTagModuleToAdminUsers();
+		logger.info("<== PermissionPatch.execLoad()");
+	}
+
+	public void assignPermissionOnTagModuleToAdminUsers() {
+		int countUserPermissionUpdated = 0;
+		XXModuleDef xModDef = daoManager.getXXModuleDef().findByModuleName(RangerConstants.MODULE_TAG_BASED_POLICIES);
+		if(xModDef==null){
+			return;
+		}
+		List<XXPortalUser> allAdminUsers = daoManager.getXXPortalUser().findByRole(RangerConstants.ROLE_SYS_ADMIN);
+		if(!CollectionUtils.isEmpty(allAdminUsers)){
+			for (XXPortalUser xPortalUser : allAdminUsers) {
+				VXPortalUser vPortalUser = xPortalUserService.populateViewBean(xPortalUser);
+				if(vPortalUser!=null){
+					vPortalUser.setUserRoleList(daoManager.getXXPortalUserRole().findXPortalUserRolebyXPortalUserId(vPortalUser.getId()));
+					xUserMgr.createOrUpdateUserPermisson(vPortalUser,xModDef.getId(), false);
+					countUserPermissionUpdated += 1;
+					logger.info("Added '" + xModDef.getModule() + "' permission to user '" + xPortalUser.getLoginId() + "'");
+				}
+			}
+		}
+		logger.info(countUserPermissionUpdated + " permissions were assigned");
+	}
+
+	@Override
+	public void printStats() {
+	}
+
+}


[2/4] incubator-ranger git commit: RANGER-951 : Modify ranger-admin to put stackdef for specified components

Posted by ga...@apache.org.
RANGER-951 : Modify ranger-admin to put stackdef for specified components

Signed-off-by: Gautam Borad <ga...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/296de339
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/296de339
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/296de339

Branch: refs/heads/master
Commit: 296de339ae174ff2c5c4a16c8f81a1bb38defbb3
Parents: 26f959f
Author: Pradeep Agrawal <pr...@freestoneinfotech.com>
Authored: Thu Apr 28 15:26:36 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Apr 29 15:03:36 2016 +0530

----------------------------------------------------------------------
 .../plugin/store/EmbeddedServiceDefsUtil.java   | 37 ++++++++++++++++++--
 security-admin/scripts/install.properties       |  4 +++
 security-admin/scripts/setup.sh                 |  5 +++
 security-admin/scripts/update_property.py       | 12 +++++--
 .../conf.dist/ranger-admin-default-site.xml     |  4 +++
 .../resources/conf.dist/ranger-admin-site.xml   |  4 +++
 6 files changed, 60 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
index b67c52d..7ec8d98 100755
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
@@ -21,7 +21,10 @@ package org.apache.ranger.plugin.store;
 
 import java.io.InputStream;
 import java.io.InputStreamReader;
-
+import java.util.HashSet;
+import java.util.Set;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerConfiguration;
@@ -43,6 +46,10 @@ public class EmbeddedServiceDefsUtil {
 	private static final Log LOG = LogFactory.getLog(EmbeddedServiceDefsUtil.class);
 
 
+	// following servicedef list should be reviewed/updated whenever a new embedded service-def is added
+	private static final String DEFAULT_BOOTSTRAP_SERVICEDEF_LIST = "tag,hdfs,hbase,hive,kms,knox,storm,yarn,kafka,solr";
+	private static final String PROPERTY_SUPPORTED_SERVICE_DEFS = "ranger.supportedcomponents";
+	private Set<String> supportedServiceDefs;
 	public static final String EMBEDDED_SERVICEDEF_TAG_NAME  = "tag";
 	public static final String EMBEDDED_SERVICEDEF_HDFS_NAME  = "hdfs";
 	public static final String EMBEDDED_SERVICEDEF_HBASE_NAME = "hbase";
@@ -99,6 +106,7 @@ public class EmbeddedServiceDefsUtil {
 
 			gsonBuilder = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").setPrettyPrinting().create();
 
+			supportedServiceDefs =getSupportedServiceDef();
 			/*
 			 * Maintaining the following service-def create-order is critical for the 
 			 * the legacy service-defs (HDFS/HBase/Hive/Knox/Storm) to be assigned IDs
@@ -172,10 +180,10 @@ public class EmbeddedServiceDefsUtil {
 		}
 
 		RangerServiceDef ret = null;
-
+		boolean createServiceDef = (CollectionUtils.isEmpty(supportedServiceDefs) || supportedServiceDefs.contains(serviceDefName));
 		try {
 			ret = store.getServiceDefByName(serviceDefName);
-			if(ret == null && createEmbeddedServiceDefs) {
+			if(ret == null && createEmbeddedServiceDefs && createServiceDef) {
 				ret = loadEmbeddedServiceDef(serviceDefName);
 
 				LOG.info("creating embedded service-def " + serviceDefName);
@@ -220,4 +228,27 @@ public class EmbeddedServiceDefsUtil {
 
 		return ret;
 	}
+
+	private Set<String> getSupportedServiceDef(){
+		Set<String> supportedServiceDef =new HashSet<String>();
+		try{
+			String ranger_supportedcomponents=RangerConfiguration.getInstance().get(PROPERTY_SUPPORTED_SERVICE_DEFS, DEFAULT_BOOTSTRAP_SERVICEDEF_LIST);
+			if(StringUtils.isBlank(ranger_supportedcomponents) || "all".equalsIgnoreCase(ranger_supportedcomponents)){
+				ranger_supportedcomponents=DEFAULT_BOOTSTRAP_SERVICEDEF_LIST;
+			}
+			String[] supportedComponents=ranger_supportedcomponents.split(",");
+			if(supportedComponents!=null && supportedComponents.length>0){
+				for(String element:supportedComponents){
+					if(!StringUtils.isBlank(element)){
+						element=element.toLowerCase();
+						if(!supportedServiceDef.contains(element)){
+							supportedServiceDef.add(element);
+						}
+					}
+				}
+			}
+		}catch(Exception ex){
+		}
+		return supportedServiceDef;
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/security-admin/scripts/install.properties
----------------------------------------------------------------------
diff --git a/security-admin/scripts/install.properties b/security-admin/scripts/install.properties
index 3913254..d2cbf45 100644
--- a/security-admin/scripts/install.properties
+++ b/security-admin/scripts/install.properties
@@ -79,6 +79,10 @@ audit_solr_zookeepers=
 policymgr_external_url=http://localhost:6080
 policymgr_http_enabled=true
 
+#Add Supported Components list below separated by semi-colon, default value is empty string to support all components
+#Example :  policymgr_supportedcomponents=hive,hbase,hdfs
+policymgr_supportedcomponents=
+
 #
 # ------- PolicyManager CONFIG - END ---------------
 #

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/security-admin/scripts/setup.sh
----------------------------------------------------------------------
diff --git a/security-admin/scripts/setup.sh b/security-admin/scripts/setup.sh
index 51daf6d..9633363 100755
--- a/security-admin/scripts/setup.sh
+++ b/security-admin/scripts/setup.sh
@@ -68,6 +68,7 @@ audit_db_user=''
 audit_db_password=''
 policymgr_external_url=$(get_prop 'policymgr_external_url' $PROPFILE)
 policymgr_http_enabled=$(get_prop 'policymgr_http_enabled' $PROPFILE)
+policymgr_supportedcomponents=$(get_prop 'policymgr_supportedcomponents' $PROPFILE)
 unix_user=$(get_prop 'unix_user' $PROPFILE)
 unix_group=$(get_prop 'unix_group' $PROPFILE)
 authentication_method=$(get_prop 'authentication_method' $PROPFILE)
@@ -609,6 +610,10 @@ update_properties() {
 	newPropertyValue="${policymgr_http_enabled}"
 	updatePropertyToFilePy $propertyName $newPropertyValue $to_file_ranger
 
+	propertyName=ranger.supportedcomponents
+	newPropertyValue="${policymgr_supportedcomponents}"
+	updatePropertyToFilePy $propertyName $newPropertyValue $to_file_ranger
+
 	propertyName=ranger.jpa.jdbc.user
 	newPropertyValue="${db_user}"
 	updatePropertyToFilePy $propertyName $newPropertyValue $to_file_ranger

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/security-admin/scripts/update_property.py
----------------------------------------------------------------------
diff --git a/security-admin/scripts/update_property.py b/security-admin/scripts/update_property.py
index ba2aec8..338fbf5 100644
--- a/security-admin/scripts/update_property.py
+++ b/security-admin/scripts/update_property.py
@@ -34,7 +34,13 @@ def write_properties_to_xml(xml_path, property_name='', property_value=''):
 
 if __name__ == '__main__':
 	if(len(sys.argv) > 1):
-		parameter_name = sys.argv[1] if len(sys.argv) > 1  else None
-		parameter_value = sys.argv[2] if len(sys.argv) > 2  else None
-		ranger_admin_site_xml_path = sys.argv[3] if len(sys.argv) > 3  else None
+		if(len(sys.argv) > 3):
+			parameter_name = sys.argv[1] if len(sys.argv) > 1  else None
+			parameter_value = sys.argv[2] if len(sys.argv) > 2  else None
+			ranger_admin_site_xml_path = sys.argv[3] if len(sys.argv) > 3  else None
+		else:
+			if(len(sys.argv) > 2):
+				parameter_name = sys.argv[1] if len(sys.argv) > 1  else None
+				parameter_value = ""
+				ranger_admin_site_xml_path = sys.argv[2] if len(sys.argv) > 2  else None
 		write_properties_to_xml(ranger_admin_site_xml_path,parameter_name,parameter_value)

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml b/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
index 8305f07..0d6679c 100644
--- a/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
+++ b/security-admin/src/main/resources/conf.dist/ranger-admin-default-site.xml
@@ -463,4 +463,8 @@
 		<value>rangerlogger</value>
 		<description></description>
 	</property>
+	<property>
+		<name>ranger.supportedcomponents</name>
+		<value></value>
+	</property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/296de339/security-admin/src/main/resources/conf.dist/ranger-admin-site.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/conf.dist/ranger-admin-site.xml b/security-admin/src/main/resources/conf.dist/ranger-admin-site.xml
index 7d748c5..e3f9f03 100644
--- a/security-admin/src/main/resources/conf.dist/ranger-admin-site.xml
+++ b/security-admin/src/main/resources/conf.dist/ranger-admin-site.xml
@@ -271,4 +271,8 @@
 		<value></value>
 	</property>
 	<!-- Kerberos Properties ENDs-->
+	<property>
+		<name>ranger.supportedcomponents</name>
+		<value></value>
+	</property>
 </configuration>


[3/4] incubator-ranger git commit: RANGER-952 : Tagadmin user name should be configurable in tagsync module

Posted by ga...@apache.org.
RANGER-952 : Tagadmin user name should be configurable in tagsync module

Signed-off-by: Gautam Borad <ga...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/847a7381
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/847a7381
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/847a7381

Branch: refs/heads/master
Commit: 847a73815b061b393c720a593864b07165bd656e
Parents: 296de33
Author: Pradeep Agrawal <pr...@freestoneinfotech.com>
Authored: Tue Apr 26 10:37:37 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Apr 29 15:04:06 2016 +0530

----------------------------------------------------------------------
 tagsync/conf/templates/ranger-tagsync-template.xml       |  4 ++++
 tagsync/scripts/setup.py                                 |  3 +++
 tagsync/scripts/updatetagadminpassword.py                |  7 ++++++-
 .../org/apache/ranger/tagsync/process/TagSyncConfig.java | 11 ++++++++++-
 tagsync/src/main/resources/ranger-tagsync-default.xml    |  4 ++--
 tagsync/src/main/resources/ranger-tagsync-site.xml       |  2 +-
 6 files changed, 26 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/conf/templates/ranger-tagsync-template.xml
----------------------------------------------------------------------
diff --git a/tagsync/conf/templates/ranger-tagsync-template.xml b/tagsync/conf/templates/ranger-tagsync-template.xml
index 3d656df..554a4e0 100644
--- a/tagsync/conf/templates/ranger-tagsync-template.xml
+++ b/tagsync/conf/templates/ranger-tagsync-template.xml
@@ -83,4 +83,8 @@
 		<name>hadoop_conf</name>
 		<value></value>
 	</property>
+	<property>
+		<name>ranger.tagsync.dest.ranger.username</name>
+		<value></value>
+	</property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/scripts/setup.py
----------------------------------------------------------------------
diff --git a/tagsync/scripts/setup.py b/tagsync/scripts/setup.py
index cd91c07..ec35a10 100755
--- a/tagsync/scripts/setup.py
+++ b/tagsync/scripts/setup.py
@@ -390,6 +390,9 @@ def main():
 
 	tagsyncKSPath = mergeProps['ranger.tagsync.keystore.filename']
 
+	if ('ranger.tagsync.dest.ranger.username' not in mergeProps):
+		mergeProps['ranger.tagsync.dest.ranger.username'] = 'rangertagsync'
+
 	if (tagsyncKSPath == ''):
 		mergeProps['ranger.tagsync.dest.ranger.password'] = 'rangertagsync'
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/scripts/updatetagadminpassword.py
----------------------------------------------------------------------
diff --git a/tagsync/scripts/updatetagadminpassword.py b/tagsync/scripts/updatetagadminpassword.py
index 445d89b..d2efef5 100644
--- a/tagsync/scripts/updatetagadminpassword.py
+++ b/tagsync/scripts/updatetagadminpassword.py
@@ -113,10 +113,14 @@ def main():
 	log("[I] TAGSYNC_KEYSTORE_FILENAME:" + str(TAGSYNC_KEYSTORE_FILENAME),"info")
 	TAGSYNC_TAGADMIN_ALIAS="tagadmin.user.password"
 	TAGSYNC_TAGADMIN_PASSWORD = ''
-	TAGSYNC_TAGADMIN_USERNAME = 'rangertagsync'
+	TAGSYNC_TAGADMIN_USERNAME = ''
 	unix_user = "ranger"
 	unix_group = "ranger"
 
+	while TAGSYNC_TAGADMIN_USERNAME == "":
+		print "Enter tagadmin user name:"
+		TAGSYNC_TAGADMIN_USERNAME=raw_input()
+
 	while TAGSYNC_TAGADMIN_PASSWORD == "":
 		TAGSYNC_TAGADMIN_PASSWORD=getpass.getpass("Enter tagadmin user password:")
 
@@ -129,6 +133,7 @@ def main():
 			ret=subprocess.call(shlex.split(cmd))
 			if ret == 0:
 				if os.path.isfile(CFG_FILE):
+					write_properties_to_xml(CFG_FILE,"ranger.tagsync.dest.ranger.username",TAGSYNC_TAGADMIN_USERNAME)
 					write_properties_to_xml(CFG_FILE,"ranger.tagsync.keystore.filename",TAGSYNC_KEYSTORE_FILENAME)
 				else:
 					log("[E] Required file not found: ["+CFG_FILE+"]","error")

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
----------------------------------------------------------------------
diff --git a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
index d14a9ce..6e2902e 100644
--- a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
+++ b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
@@ -53,6 +53,8 @@ public class TagSyncConfig extends Configuration {
 
 	private static final String TAGSYNC_DEST_RANGER_PASSWORD_ALIAS = "tagadmin.user.password";
 
+	private static final String TAGSYNC_TAGADMIN_USERNAME_PROP = "ranger.tagsync.dest.ranger.username";
+
 	private static final String TAGSYNC_TAGADMIN_PASSWORD_PROP = "ranger.tagsync.dest.ranger.password";
 
 	private static final String TAGSYNC_TAGADMIN_CONNECTION_CHECK_INTERVAL_PROP = "ranger.tagsync.dest.ranger.connection.check.interval";
@@ -270,7 +272,14 @@ public class TagSyncConfig extends Configuration {
 	}
 
 	static public String getTagAdminUserName(Properties prop) {
-		return DEFAULT_TAGADMIN_USERNAME;
+		String userName=null;
+		if(prop!=null && prop.containsKey(TAGSYNC_TAGADMIN_USERNAME_PROP)){
+			userName=prop.getProperty(TAGSYNC_TAGADMIN_USERNAME_PROP);
+		}
+		if(StringUtils.isBlank(userName)){
+			userName=DEFAULT_TAGADMIN_USERNAME;
+		}
+		return userName;
 	}
 
 	static public String getAtlasSslConfigFileName(Properties prop) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/src/main/resources/ranger-tagsync-default.xml
----------------------------------------------------------------------
diff --git a/tagsync/src/main/resources/ranger-tagsync-default.xml b/tagsync/src/main/resources/ranger-tagsync-default.xml
index 131e319..08afc42 100644
--- a/tagsync/src/main/resources/ranger-tagsync-default.xml
+++ b/tagsync/src/main/resources/ranger-tagsync-default.xml
@@ -34,7 +34,7 @@
 		<description></description>
 	</property>
 	<property>
-		<name>ranger.tagsync.dest.ranger.password</name>
-		<value></value>
+		<name>ranger.tagsync.dest.ranger.username</name>
+		<value>rangertagsync</value>
 	</property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/847a7381/tagsync/src/main/resources/ranger-tagsync-site.xml
----------------------------------------------------------------------
diff --git a/tagsync/src/main/resources/ranger-tagsync-site.xml b/tagsync/src/main/resources/ranger-tagsync-site.xml
index aa2357a..30ba3d7 100644
--- a/tagsync/src/main/resources/ranger-tagsync-site.xml
+++ b/tagsync/src/main/resources/ranger-tagsync-site.xml
@@ -82,7 +82,7 @@
 		<value />
 	</property>
 	<property>
-		<name>ranger.tagsync.dest.ranger.password</name>
+		<name>ranger.tagsync.dest.ranger.username</name>
 		<value>rangertagsync</value>
 	</property>