You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2015/05/04 16:19:39 UTC
incubator-ranger git commit: RANGER-450 : ranger_install.py needs to
be updated for latest ranger-admin-site.xml changes
Repository: incubator-ranger
Updated Branches:
refs/heads/master 2abe4db53 -> cab5b3da8
RANGER-450 : ranger_install.py needs to be updated for latest ranger-admin-site.xml changes
Signed-off-by: Velmurugan Periasamy <ve...@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/cab5b3da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/cab5b3da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/cab5b3da
Branch: refs/heads/master
Commit: cab5b3da81d7fcfeda86dfaf9b63f936a45e3161
Parents: 2abe4db
Author: Gautam Borad <gb...@gmail.com>
Authored: Mon May 4 17:02:07 2015 +0530
Committer: Velmurugan Periasamy <ve...@apache.org>
Committed: Mon May 4 10:19:03 2015 -0400
----------------------------------------------------------------------
security-admin/src/bin/ranger_install.py | 278 +++++++++++++++-----------
1 file changed, 161 insertions(+), 117 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/cab5b3da/security-admin/src/bin/ranger_install.py
----------------------------------------------------------------------
diff --git a/security-admin/src/bin/ranger_install.py b/security-admin/src/bin/ranger_install.py
index 9b9c3b3..ed1e251 100644
--- a/security-admin/src/bin/ranger_install.py
+++ b/security-admin/src/bin/ranger_install.py
@@ -695,7 +695,14 @@ def update_xapolicymgr_properties():
log("xapolicymgr_properties: " + xapolicymgr_properties, "debug")
ModConfig(xapolicymgr_properties,"xa.webapp.dir", WEBAPP_ROOT.replace('\\','/' ))
-
+def updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file):
+ ret = subprocess.call(['python', '%s\update_property.py' %os.getenv("RANGER_ADMIN_HOME"), propertyName ,newPropertyValue ,to_file])
+ if ret == 0:
+ log("Updated property for :"+to_file,"info")
+ else:
+ log("Update property failed for :"+to_file,"info")
+ sys.exit(1)
+
def update_properties():
global conf_dict
sys_conf_dict={}
@@ -711,150 +718,187 @@ def update_properties():
audit_db_user = conf_dict["RANGER_AUDIT_DB_USERNAME"]
audit_db_password = conf_dict["RANGER_AUDIT_DB_PASSWORD"]
audit_db_name = conf_dict["RANGER_AUDIT_DB_NAME"]
- update_xapolicymgr_properties()
+
+ to_file_ranger = os.path.join(WEBAPP_ROOT, "WEB-INF", "classes", "conf", "ranger-admin-site.xml")
newPropertyValue=''
- to_file = os.path.join(WEBAPP_ROOT, "WEB-INF", "classes", "conf", "xa_system.properties")
- if os.path.isfile(to_file):
- log("to_file: " + to_file + " file found", "info")
+ to_file_default = os.path.join(WEBAPP_ROOT, "WEB-INF", "classes", "conf", "ranger-admin-default-site.xml")
+ if os.path.isfile(to_file_ranger):
+ log("to_file_ranger: " + to_file_ranger + " file found", "info")
else:
- log("to_file: " + to_file + " does not exists", "warning")
- config = StringIO.StringIO()
- config.write('[dummysection]\n')
- config.write(open(to_file).read())
- config.seek(0, os.SEEK_SET)
- ##Now parse using configparser
- cObj = ConfigParser.ConfigParser()
- cObj.optionxform = str
- cObj.readfp(config)
- options = cObj.options('dummysection')
- for option in options:
- value = cObj.get('dummysection', option)
- sys_conf_dict[option] = value
- cObj.set("dummysection",option, value)
-
+ log("to_file_ranger: " + to_file_ranger + " does not exists", "warning")
+ if os.path.isfile(to_file_default):
+ log("to_file_default: " + to_file_default + " file found", "info")
+ else:
+ log("to_file_default: " + to_file_default + " does not exists", "warning")
log("SQL_HOST is : " + MYSQL_HOST,"debug")
- propertyName="jdbc.url"
if RANGER_DB_FLAVOR == "MYSQL":
- newPropertyValue="jdbc:log4jdbc:mysql://" + MYSQL_HOST + ":3306/" + db_name
+ propertyName="ranger.jpa.jdbc.url"
+ newPropertyValue="jdbc:log4jdbc:mysql://" + MYSQL_HOST + ":3306/" + db_name
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.user"
+ newPropertyValue=db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.user"
+ newPropertyValue=audit_db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.url"
+ newPropertyValue="jdbc:log4jdbc:mysql://"+MYSQL_HOST+":3306/"+audit_db_name
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.MySQLPlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.audit.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.MySQLPlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.jdbc.driver"
+ newPropertyValue="net.sf.log4jdbc.DriverSpy"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.driver"
+ newPropertyValue="net.sf.log4jdbc.DriverSpy"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
elif RANGER_DB_FLAVOR == "ORACLE":
- newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" %(db_user, db_password, MYSQL_HOST)
+ propertyName="ranger.jpa.jdbc.url"
+ newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" %(db_user, db_password, MYSQL_HOST)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.user"
+ newPropertyValue=db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.user"
+ newPropertyValue=audit_db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.url"
+ newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" %(audit_db_user, audit_db_password, MYSQL_HOST)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.OraclePlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.audit.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.OraclePlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.jdbc.driver"
+ newPropertyValue="oracle.jdbc.OracleDriver"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.driver"
+ newPropertyValue="oracle.jdbc.OracleDriver"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
elif RANGER_DB_FLAVOR == "POSTGRES":
+ propertyName="ranger.jpa.jdbc.url"
newPropertyValue="jdbc:postgresql://%s/%s" %(MYSQL_HOST, db_name)
- elif RANGER_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="jdbc:sqlserver://%s;databaseName=%s" %(MYSQL_HOST, db_name)
- cObj.set('dummysection',propertyName,newPropertyValue)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.user"
+ newPropertyValue=db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.user"
+ newPropertyValue=audit_db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.url"
+ newPropertyValue="jdbc:postgresql://%s/%s" %(MYSQL_HOST, audit_db_name)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- propertyName="jdbc.dialect"
- if RANGER_DB_FLAVOR == "MYSQL":
- newPropertyValue="org.eclipse.persistence.platform.database.MySQLPlatform"
- elif RANGER_DB_FLAVOR == "ORACLE":
- newPropertyValue="org.eclipse.persistence.platform.database.OraclePlatform"
- elif RANGER_DB_FLAVOR == "POSTGRES":
+ propertyName="ranger.jpa.jdbc.dialect"
newPropertyValue="org.eclipse.persistence.platform.database.PostgreSQLPlatform"
- elif RANGER_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
- propertyName="jdbc.driver"
- if RANGER_DB_FLAVOR == "MYSQL":
- newPropertyValue="net.sf.log4jdbc.DriverSpy"
- elif RANGER_DB_FLAVOR == "ORACLE":
- newPropertyValue="oracle.jdbc.OracleDriver"
- elif RANGER_DB_FLAVOR == "POSTGRES":
- newPropertyValue="org.postgresql.Driver"
- elif RANGER_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="com.microsoft.sqlserver.jdbc.SQLServerDriver"
- cObj.set('dummysection',propertyName,newPropertyValue)
-
- propertyName="xa.webapp.url.root"
- newPropertyValue=os.getenv("RANGER_EXTERNAL_URL")
- cObj.set('dummysection',propertyName,newPropertyValue)
-
- #TODO hardcoding for now
- propertyName="http.enabled"
- newPropertyValue="true"
- cObj.set('dummysection',propertyName,newPropertyValue)
-
- propertyName="auditDB.jdbc.url"
- if RANGER_AUDIT_DB_FLAVOR == "MYSQL":
- newPropertyValue="jdbc:log4jdbc:mysql://"+MYSQL_HOST+":3306/"+audit_db_name
- elif RANGER_AUDIT_DB_FLAVOR == "ORACLE":
- newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" %(audit_db_user, audit_db_password, MYSQL_HOST)
- elif RANGER_AUDIT_DB_FLAVOR == "POSTGRES":
- newPropertyValue="jdbc:postgresql://%s/%s" %(MYSQL_HOST, audit_db_name)
- elif RANGER_AUDIT_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="jdbc:sqlserver://%s;databaseName=%s" % (MYSQL_HOST, audit_db_name)
- cObj.set('dummysection',propertyName,newPropertyValue)
-
- propertyName="auditDB.jdbc.dialect"
- if RANGER_AUDIT_DB_FLAVOR == "MYSQL":
- newPropertyValue="org.eclipse.persistence.platform.database.MySQLPlatform"
- elif RANGER_AUDIT_DB_FLAVOR == "ORACLE":
- newPropertyValue="org.eclipse.persistence.platform.database.OraclePlatform"
- elif RANGER_AUDIT_DB_FLAVOR == "POSTGRES":
+ propertyName="ranger.jpa.audit.jdbc.dialect"
newPropertyValue="org.eclipse.persistence.platform.database.PostgreSQLPlatform"
- elif RANGER_AUDIT_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
- cObj.set('dummysection',propertyName,newPropertyValue)
-
- propertyName="auditDB.jdbc.driver"
- if RANGER_AUDIT_DB_FLAVOR == "MYSQL":
- newPropertyValue="net.sf.log4jdbc.DriverSpy"
- elif RANGER_AUDIT_DB_FLAVOR == "ORACLE":
- newPropertyValue="oracle.jdbc.OracleDriver"
- elif RANGER_AUDIT_DB_FLAVOR == "POSTGRES":
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.jdbc.driver"
newPropertyValue="org.postgresql.Driver"
- elif RANGER_AUDIT_DB_FLAVOR == "SQLSERVER":
- newPropertyValue="com.microsoft.sqlserver.jdbc.SQLServerDriver"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- propertyName="jdbc.user"
- newPropertyValue=db_user
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.audit.jdbc.driver"
+ newPropertyValue="org.postgresql.Driver"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
- propertyName="auditDB.jdbc.user"
- newPropertyValue=audit_db_user
- cObj.set('dummysection',propertyName,newPropertyValue)
+ elif RANGER_DB_FLAVOR == "SQLSERVER":
+ propertyName="ranger.jpa.jdbc.url"
+ newPropertyValue="jdbc:sqlserver://%s;databaseName=%s" %(MYSQL_HOST, db_name)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- if (os.path.isfile(os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE"))):
- propertyName="xaDB.jdbc.credential.alias"
- newPropertyValue="policyDB.jdbc.password"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.jdbc.user"
+ newPropertyValue=db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- propertyName="xaDB.jdbc.credential.provider.path"
- newPropertyValue= os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE")
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.audit.jdbc.user"
+ newPropertyValue=audit_db_user
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.url"
+ newPropertyValue="jdbc:sqlserver://%s;databaseName=%s" % (MYSQL_HOST, audit_db_name)
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- propertyName="jdbc.password"
- newPropertyValue="_"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
- propertyName="auditDB.jdbc.credential.alias"
- newPropertyValue="auditDB.jdbc.password"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.jdbc.dialect"
+ newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
- propertyName="auditDB.jdbc.credential.provider.path"
- newPropertyValue= os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE")
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.jdbc.driver"
+ newPropertyValue="com.microsoft.sqlserver.jdbc.SQLServerDriver"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
- propertyName="auditDB.jdbc.password"
- newPropertyValue="_"
- cObj.set('dummysection',propertyName,newPropertyValue)
+ propertyName="ranger.jpa.audit.jdbc.driver"
+ newPropertyValue="com.microsoft.sqlserver.jdbc.SQLServerDriver"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+ if (os.path.isfile(os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE"))):
+ propertyName="ranger.credential.provider.path"
+ newPropertyValue=os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE")
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.jdbc.credential.alias"
+ newPropertyValue="ranger.jpa.jdbc.password"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.credential.provider.path"
+ newPropertyValue=os.getenv("RANGER_ADMIN_CRED_KEYSTORE_FILE")
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.jdbc.password"
+ newPropertyValue="_"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
+ propertyName="ranger.jpa.audit.jdbc.credential.alias"
+ newPropertyValue="ranger.jpa.audit.jdbc.password"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
+
+ propertyName="ranger.jpa.audit.jdbc.password"
+ newPropertyValue="_"
+ updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
+
else:
-
- propertyName="jdbc.password"
+ propertyName="ranger.jpa.jdbc.password"
newPropertyValue=os.getenv("RANGER_ADMIN_DB_PASSWORD")
cObj.set('dummysection',propertyName,newPropertyValue)
- propertyName="auditDB.jdbc.password"
+ propertyName="ranger.jpa.audit.jdbc.password"
newPropertyValue=os.getenv("RANGER_AUDIT_DB_PASSWORD")
cObj.set('dummysection',propertyName,newPropertyValue)
- with open(to_file, 'wb') as configfile:
- cObj.write(configfile)
-
def setup_authentication(authentication_method, xmlPath):
if authentication_method == "UNIX":
# log("Setting up UNIX authentication for : " + xmlPath,"debug")
@@ -1150,7 +1194,7 @@ def run_setup(cmd):
write_config_to_file()
#extract_war()
update_properties()
- do_authentication_setup()
+ #do_authentication_setup()
return
# Entry point to script using --configure