This is an automated email from the ASF dual-hosted git repository.

pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 9146ff44f RANGER-4438: Read JAVA_OPTS in ranger db setup python script
9146ff44f is described below

commit 9146ff44fc5bd7c27ca70c564c02cd98f8ab4a43
Author: Pradeep Agrawal <prad...@apache.org>
AuthorDate: Wed Sep 27 17:10:12 2023 +0530

    RANGER-4438: Read JAVA_OPTS in ranger db setup python script
    
    Change-Id: I9e68a77b95f1b4320d7af0b1642eb8c8438faff3
---
 kms/scripts/db_setup.py                      | 44 +++++++++++++++-------------
 kms/scripts/install.properties               |  1 +
 kms/scripts/setup.sh                         |  2 ++
 security-admin/scripts/changepasswordutil.py |  7 +++--
 security-admin/scripts/db_setup.py           | 10 +++++--
 security-admin/scripts/install.properties    |  1 +
 security-admin/scripts/setup.sh              |  3 ++
 7 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/kms/scripts/db_setup.py b/kms/scripts/db_setup.py
index d21a6ac75..f1a6bce57 100644
--- a/kms/scripts/db_setup.py
+++ b/kms/scripts/db_setup.py
@@ -38,6 +38,10 @@ RANGER_KMS_HOME = os.getenv("RANGER_KMS_HOME")
 if RANGER_KMS_HOME is None:
        RANGER_KMS_HOME = os.getcwd()
 
+JAVA_OPTS = os.getenv("JAVA_OPTS")
+if JAVA_OPTS is None:
+       JAVA_OPTS = ""
+
 def check_output(query):
        if is_unix:
                p = subprocess.Popen(shlex.split(query), stdout=subprocess.PIPE)
@@ -135,14 +139,14 @@ class MysqlConf(BaseDB):
                self.JAVA_BIN = self.JAVA_BIN.strip("'")
                if is_unix:
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring %s -u '%s' -p '%s' 
-noheader -trim -c \;" 
%(self.JAVA_BIN,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path,self.db_override_jdbc_connection_string,user,password)
+                               jisql_cmd = "%s %s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring %s -u '%s' -p '%s' 
-noheader -trim -c \;" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path,self.db_override_jdbc_connection_string,user,password)
                        else:
-                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring jdbc:mysql://%s/%s%s -u 
'%s' -p '%s' -noheader -trim -c \;" 
%(self.JAVA_BIN,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path,self.host,db_name,db_ssl_param,user,password)
+                               jisql_cmd = "%s %s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring jdbc:mysql://%s/%s%s -u 
'%s' -p '%s' -noheader -trim -c \;" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path,self.host,db_name,db_ssl_param,user,password)
                elif os_name == "WINDOWS":
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, 
path, self.db_override_jdbc_connection_string,user, password)
+                               jisql_cmd = "%s %s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, 
self.db_override_jdbc_connection_string,user, password)
                        else:
-                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring jdbc:mysql://%s/%s%s -u 
\"%s\" -p \"%s\" -noheader -trim" 
%(self.JAVA_BIN,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, self.host, 
db_name,db_ssl_param,user, password)
+                               jisql_cmd = "%s %s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver mysqlconj -cstring jdbc:mysql://%s/%s%s -u 
\"%s\" -p \"%s\" -noheader -trim" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, 
self.host, db_name,db_ssl_param,user, password)
                return jisql_cmd
 
        def check_connection(self, db_name, db_user, db_password):
@@ -227,14 +231,14 @@ class OracleConf(BaseDB):
 
                if is_unix:
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u '%s' -p '%s' 
-noheader -trim" %(self.JAVA_BIN, self.SQL_CONNECTOR_JAR,path, 
self.db_override_jdbc_connection_string, user, password)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u '%s' -p '%s' 
-noheader -trim" %(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR,path, 
self.db_override_jdbc_connection_string, user, password)
                        else:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u '%s' -p '%s' 
-noheader -trim" %(self.JAVA_BIN, self.SQL_CONNECTOR_JAR,path, cstring, user, 
password)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u '%s' -p '%s' 
-noheader -trim" %(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR,path, 
cstring, user, password)
                elif os_name == "WINDOWS":
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN, self.SQL_CONNECTOR_JAR, path, 
self.db_override_jdbc_connection_string, user, password)
+                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, 
self.db_override_jdbc_connection_string, user, password)
                        else:
-                               jisql_cmd = "%s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN, self.SQL_CONNECTOR_JAR, path, cstring, user, 
password)
+                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver oraclethin -cstring %s -u \"%s\" -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, 
cstring, user, password)
                return jisql_cmd
 
        def check_connection(self, db_name, db_user, db_password):
@@ -348,14 +352,14 @@ class PostgresConf(BaseDB):
                                db_ssl_param="?ssl=%s" %(self.db_ssl_enabled)
                if is_unix:
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver postgresql -cstring %s -u %s -p '%s' 
-noheader -trim -c \;" %(self.JAVA_BIN, 
db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path, 
self.db_override_jdbc_connection_string,user, password)
+                               jisql_cmd = "%s %s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver postgresql -cstring %s -u %s -p '%s' 
-noheader -trim -c \;" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path, 
self.db_override_jdbc_connection_string,user, password)
                        else:
-                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver postgresql -cstring jdbc:postgresql://%s/%s%s 
-u %s -p '%s' -noheader -trim -c \;" %(self.JAVA_BIN, 
db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path, self.host, db_name, 
db_ssl_param,user, password)
+                               jisql_cmd = "%s %s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -driver postgresql -cstring jdbc:postgresql://%s/%s%s 
-u %s -p '%s' -noheader -trim -c \;" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR,path, 
self.host, db_name, db_ssl_param,user, password)
                elif os_name == "WINDOWS":
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver postgresql -cstring %s -u %s -p \"%s\" 
-noheader -trim" %(self.JAVA_BIN, db_ssl_cert_param,self.SQL_CONNECTOR_JAR, 
path, self.db_override_jdbc_connection_string,user, password)
+                               jisql_cmd = "%s %s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver postgresql -cstring %s -u %s -p \"%s\" 
-noheader -trim" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, 
self.db_override_jdbc_connection_string,user, password)
                        else:
-                               jisql_cmd = "%s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver postgresql -cstring jdbc:postgresql://%s/%s%s 
-u %s -p \"%s\" -noheader -trim" %(self.JAVA_BIN, 
db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, self.host, db_name, 
db_ssl_param,user, password)
+                               jisql_cmd = "%s %s %s -cp %s;%s\jisql\\lib\\* 
org.apache.util.sql.Jisql -driver postgresql -cstring jdbc:postgresql://%s/%s%s 
-u %s -p \"%s\" -noheader -trim" 
%(self.JAVA_BIN,self.JAVA_OPTS,db_ssl_cert_param,self.SQL_CONNECTOR_JAR, path, 
self.host, db_name, db_ssl_param,user, password)
                return jisql_cmd
 
        def check_connection(self, db_name, db_user, db_password):
@@ -429,14 +433,14 @@ class SqlServerConf(BaseDB):
                self.JAVA_BIN = self.JAVA_BIN.strip("'")
                if is_unix:
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver mssql -cstring %s -noheader 
-trim"%(self.JAVA_BIN, self.SQL_CONNECTOR_JAR,path, user, password, 
self.db_override_jdbc_connection_string)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver mssql -cstring %s -noheader 
-trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR,path, user, 
password, self.db_override_jdbc_connection_string)
                        else:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver mssql -cstring 
jdbc:sqlserver://%s\\;databaseName=%s -noheader -trim"%(self.JAVA_BIN, 
self.SQL_CONNECTOR_JAR,path, user, password, self.host,db_name)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver mssql -cstring 
jdbc:sqlserver://%s\\;databaseName=%s -noheader 
-trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR,path, user, 
password, self.host,db_name)
                elif os_name == "WINDOWS":
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver mssql -cstring %s 
-noheader -trim"%(self.JAVA_BIN, self.SQL_CONNECTOR_JAR, path, user, password, 
self.db_override_jdbc_connection_string)
+                               jisql_cmd = "%s %s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver mssql -cstring %s 
-noheader -trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, 
user, password, self.db_override_jdbc_connection_string)
                        else:
-                               jisql_cmd = "%s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver mssql -cstring 
jdbc:sqlserver://%s;databaseName=%s -noheader -trim"%(self.JAVA_BIN, 
self.SQL_CONNECTOR_JAR, path, user, password, self.host,db_name)
+                               jisql_cmd = "%s %s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver mssql -cstring 
jdbc:sqlserver://%s;databaseName=%s -noheader 
-trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, user, 
password, self.host,db_name)
                return jisql_cmd
 
        def check_connection(self, db_name, db_user, db_password):
@@ -506,14 +510,14 @@ class SqlAnywhereConf(BaseDB):
                self.JAVA_BIN = self.JAVA_BIN.strip("'")
                if is_unix:
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver sapsajdbc4 -cstring %s 
-noheader -trim"%(self.JAVA_BIN, self.SQL_CONNECTOR_JAR, path,user, 
password,self.db_override_jdbc_connection_string)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver sapsajdbc4 -cstring %s 
-noheader -trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, 
path,user, password,self.db_override_jdbc_connection_string)
                        else:
-                               jisql_cmd = "%s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver sapsajdbc4 -cstring 
jdbc:sqlanywhere:database=%s;host=%s -noheader -trim"%(self.JAVA_BIN, 
self.SQL_CONNECTOR_JAR, path,user, password,db_name,self.host)
+                               jisql_cmd = "%s %s -cp %s:%s/jisql/lib/* 
org.apache.util.sql.Jisql -user %s -p '%s' -driver sapsajdbc4 -cstring 
jdbc:sqlanywhere:database=%s;host=%s -noheader 
-trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path,user, 
password,db_name,self.host)
                elif os_name == "WINDOWS":
                        if self.is_db_override_jdbc_connection_string == 'true' 
and self.db_override_jdbc_connection_string is not None and 
len(self.db_override_jdbc_connection_string) > 0:
-                               jisql_cmd = "%s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver sapsajdbc4 -cstring %s 
-noheader -trim"%(self.JAVA_BIN, self.SQL_CONNECTOR_JAR, path, user, 
password,self.db_override_jdbc_connection_string)
+                               jisql_cmd = "%s %s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver sapsajdbc4 -cstring %s 
-noheader -trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, 
user, password,self.db_override_jdbc_connection_string)
                        else:
-                               jisql_cmd = "%s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver sapsajdbc4 -cstring 
jdbc:sqlanywhere:database=%s;host=%s -noheader -trim"%(self.JAVA_BIN, 
self.SQL_CONNECTOR_JAR, path, user, password,db_name,self.host)
+                               jisql_cmd = "%s %s -cp %s;%s\\jisql\\lib\\* 
org.apache.util.sql.Jisql -user %s -p \"%s\" -driver sapsajdbc4 -cstring 
jdbc:sqlanywhere:database=%s;host=%s -noheader 
-trim"%(self.JAVA_BIN,self.JAVA_OPTS,self.SQL_CONNECTOR_JAR, path, user, 
password,db_name,self.host)
                return jisql_cmd
 
        def check_connection(self, db_name, db_user, db_password):
diff --git a/kms/scripts/install.properties b/kms/scripts/install.properties
index 0e5da3c75..5f5df9b1f 100755
--- a/kms/scripts/install.properties
+++ b/kms/scripts/install.properties
@@ -323,6 +323,7 @@ LOGFILE=$PWD/logfile
 JAVA_BIN='java'
 JAVA_VERSION_REQUIRED='1.8'
 JAVA_ORACLE='Java(TM) SE Runtime Environment'
+java_opts=''
 
 mysql_core_file=db/mysql/kms_core_db.sql
 
diff --git a/kms/scripts/setup.sh b/kms/scripts/setup.sh
index f723e09bb..e64c32aa1 100755
--- a/kms/scripts/setup.sh
+++ b/kms/scripts/setup.sh
@@ -80,6 +80,7 @@ LOGFILE=$(eval echo "$(get_prop 'LOGFILE' $PROPFILE)")
 JAVA_BIN=$(get_prop 'JAVA_BIN' $PROPFILE)
 JAVA_VERSION_REQUIRED=$(get_prop 'JAVA_VERSION_REQUIRED' $PROPFILE)
 JAVA_ORACLE=$(get_prop 'JAVA_ORACLE' $PROPFILE)
+java_opts=$(get_prop 'java_opts' $PROPFILE)
 mysql_core_file=$(get_prop 'mysql_core_file' $PROPFILE)
 oracle_core_file=$(get_prop 'oracle_core_file' $PROPFILE)
 postgres_core_file=$(get_prop 'postgres_core_file' $PROPFILE)
@@ -368,6 +369,7 @@ check_java_version() {
                log "[E] The java version must be greater than or equal to 
$JAVA_VERSION_REQUIRED, the current java version is $version"
                exit 1;
        fi
+       if [[ ${JAVA_OPTS} == "" ]] ;then  export JAVA_OPTS="${java_opts}" ;fi
 }
 
 sanity_check_files() {
diff --git a/security-admin/scripts/changepasswordutil.py 
b/security-admin/scripts/changepasswordutil.py
index e45dab643..5778bd0fe 100644
--- a/security-admin/scripts/changepasswordutil.py
+++ b/security-admin/scripts/changepasswordutil.py
@@ -78,6 +78,10 @@ def main(argv):
                        JAVA_BIN=input()
        log("[I] Using Java:" + str(JAVA_BIN),"info")
 
+       JAVA_OPTS = os.getenv("JAVA_OPTS")
+       if JAVA_OPTS is None:
+               JAVA_OPTS = ""
+
        USERNAME = ''
        OLD_PASSWORD = ''
        NEW_PASSWORD=''
@@ -111,8 +115,7 @@ def main(argv):
                        path = 
os.path.join("%s","WEB-INF","classes","conf:%s","WEB-INF","classes","lib","*:%s","WEB-INF",":%s","META-INF",":%s","WEB-INF","lib","*:%s","WEB-INF","classes",":%s","WEB-INF","classes","META-INF:%s/*")%(app_home
 ,app_home ,app_home, app_home, app_home, app_home ,app_home,ews_lib)
                elif os_name == "WINDOWS":
                        path = 
os.path.join("%s","WEB-INF","classes","conf;%s","WEB-INF","classes","lib","*;%s","WEB-INF",";%s","META-INF",";%s","WEB-INF","lib","*;%s","WEB-INF","classes",";%s","WEB-INF","classes","META-INF"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home)
-               get_java_cmd = "%s -Dlogdir=%s 
-Dlogback.configurationFile=db_patch.logback.xml -cp %s 
org.apache.ranger.patch.cliutil.%s %s %s %s"%(JAVA_BIN,ranger_log,path,
-'ChangePasswordUtil','"'+userName+'"','"'+oldPassword+'"','"'+newPassword+'"')
+               get_java_cmd = "%s %s -Dlogdir=%s 
-Dlogback.configurationFile=db_patch.logback.xml -cp %s 
org.apache.ranger.patch.cliutil.%s %s %s 
%s"%(JAVA_BIN,JAVA_OPTS,ranger_log,path,'ChangePasswordUtil','"'+userName+'"','"'+oldPassword+'"','"'+newPassword+'"')
                if os_name == "LINUX":
                        ret = subprocess.call(shlex.split(get_java_cmd))
                elif os_name == "WINDOWS":
diff --git a/security-admin/scripts/db_setup.py 
b/security-admin/scripts/db_setup.py
index 24502f4fb..fcc57ef2f 100644
--- a/security-admin/scripts/db_setup.py
+++ b/security-admin/scripts/db_setup.py
@@ -39,6 +39,10 @@ pre_sql_prefix="PatchPreSql_"
 post_sql_prefix="PatchPostSql_"
 java_patch_version_regex="Patch.*?_J(.*).class"
 
+JAVA_OPTS = os.getenv("JAVA_OPTS")
+if JAVA_OPTS is None:
+       JAVA_OPTS = ""
+
 RANGER_ADMIN_HOME = os.getenv("RANGER_ADMIN_HOME")
 if RANGER_ADMIN_HOME is None:
        RANGER_ADMIN_HOME = os.getcwd()
@@ -559,7 +563,7 @@ class BaseDB(object):
                                                                path = 
os.path.join("%s","WEB-INF","classes","conf:%s","WEB-INF","classes","lib","*:%s","WEB-INF",":%s","META-INF",":%s","WEB-INF","lib","*:%s","WEB-INF","classes",":%s","WEB-INF","classes","META-INF:%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
                                                        elif os_name == 
"WINDOWS":
                                                                path = 
os.path.join("%s","WEB-INF","classes","conf;%s","WEB-INF","classes","lib","*;%s","WEB-INF",";%s","META-INF",";%s","WEB-INF","lib","*;%s","WEB-INF","classes",";%s","WEB-INF","classes","META-INF;%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
-                                                       get_java_cmd = "%s 
-XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=200m -Xmx%s -Xms1g -Dlogdir=%s 
-Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.%s"%(self.JAVA_BIN,globalDict['ranger_admin_max_heap_size'],ranger_log_dir,logback_conf_file,os_user,client_host,path,className)
+                                                       get_java_cmd = "%s %s 
-XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=200m -Xmx%s -Xms1g -Dlogdir=%s 
-Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.%s"%(self.JAVA_BIN,JAVA_OPTS,globalDict['ranger_admin_max_heap_size'],ranger_log_dir,logback_conf_file,os_user,client_host,path,className)
                                                        if is_unix:
                                                                ret = 
subprocess.call(shlex.split(get_java_cmd))
                                                        elif os_name == 
"WINDOWS":
@@ -650,7 +654,7 @@ class BaseDB(object):
                                                        path = 
os.path.join("%s","WEB-INF","classes","conf:%s","WEB-INF","classes","lib","*:%s","WEB-INF",":%s","META-INF",":%s","WEB-INF","lib","*:%s","WEB-INF","classes",":%s","WEB-INF","classes","META-INF:%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
                                                elif os_name == "WINDOWS":
                                                        path = 
os.path.join("%s","WEB-INF","classes","conf;%s","WEB-INF","classes","lib","*;%s","WEB-INF",";%s","META-INF",";%s","WEB-INF","lib","*;%s","WEB-INF","classes",";%s","WEB-INF","classes","META-INF;%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
-                                               get_java_cmd = "%s -Dlogdir=%s 
-Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.cliutil.%s %s %s %s 
-default"%(self.JAVA_BIN,ranger_log_dir,logback_conf_file,os_user,client_host,path,className,'"'+userName+'"','"'+oldPassword+'"','"'+newPassword+'"')
+                                               get_java_cmd = "%s %s 
-Dlogdir=%s -Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.cliutil.%s %s %s %s 
-default"%(self.JAVA_BIN,JAVA_OPTS,ranger_log_dir,logback_conf_file,os_user,client_host,path,className,'"'+userName+'"','"'+oldPassword+'"','"'+newPassword+'"')
                                                if is_unix:
                                                        status = 
subprocess.call(shlex.split(get_java_cmd))
                                                elif os_name == "WINDOWS":
@@ -748,7 +752,7 @@ class BaseDB(object):
                                                        path = 
os.path.join("%s","WEB-INF","classes","conf:%s","WEB-INF","classes","lib","*:%s","WEB-INF",":%s","META-INF",":%s","WEB-INF","lib","*:%s","WEB-INF","classes",":%s","WEB-INF","classes","META-INF:%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
                                                elif os_name == "WINDOWS":
                                                        path = 
os.path.join("%s","WEB-INF","classes","conf;%s","WEB-INF","classes","lib","*;%s","WEB-INF",";%s","META-INF",";%s","WEB-INF","lib","*;%s","WEB-INF","classes",";%s","WEB-INF","classes","META-INF;%s"
 )%(app_home ,app_home ,app_home, app_home, app_home, app_home ,app_home 
,self.SQL_CONNECTOR_JAR)
-                                               get_java_cmd = "%s -Dlogdir=%s 
-Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.cliutil.%s %s 
-default"%(self.JAVA_BIN,ranger_log_dir,logback_conf_file,os_user,client_host,path,className,
 userPwdString)
+                                               get_java_cmd = "%s %s 
-Dlogdir=%s -Dlogback.configurationFile=%s -Duser=%s -Dhostname=%s -cp %s 
org.apache.ranger.patch.cliutil.%s %s 
-default"%(self.JAVA_BIN,JAVA_OPTS,ranger_log_dir,logback_conf_file,os_user,client_host,path,className,
 userPwdString)
                                                if is_unix:
                                                        status = 
subprocess.call(shlex.split(get_java_cmd))
                                                elif os_name == "WINDOWS":
diff --git a/security-admin/scripts/install.properties 
b/security-admin/scripts/install.properties
index b8e864e9a..eb157f943 100644
--- a/security-admin/scripts/install.properties
+++ b/security-admin/scripts/install.properties
@@ -262,6 +262,7 @@ LOGFILES="$LOGFILE"
 JAVA_BIN='java'
 JAVA_VERSION_REQUIRED='1.8'
 JAVA_ORACLE='Java(TM) SE Runtime Environment'
+java_opts=''
 
 ranger_admin_max_heap_size=1g
 #retry DB and Java patches after the given time in seconds.
diff --git a/security-admin/scripts/setup.sh b/security-admin/scripts/setup.sh
index 750455f08..ee53d873b 100755
--- a/security-admin/scripts/setup.sh
+++ b/security-admin/scripts/setup.sh
@@ -129,6 +129,7 @@ LOGFILES=$(eval echo "$(get_prop 'LOGFILES' $PROPFILE)")
 JAVA_BIN=$(get_prop 'JAVA_BIN' $PROPFILE)
 JAVA_VERSION_REQUIRED=$(get_prop 'JAVA_VERSION_REQUIRED' $PROPFILE)
 JAVA_ORACLE=$(get_prop 'JAVA_ORACLE' $PROPFILE)
+java_opts=$(get_prop 'java_opts' $PROPFILE)
 mysql_core_file=$(get_prop 'mysql_core_file' $PROPFILE)
 mysql_audit_file=$(get_prop 'mysql_audit_file' $PROPFILE)
 oracle_core_file=$(get_prop 'oracle_core_file' $PROPFILE)
@@ -381,6 +382,8 @@ check_java_version() {
                log "[E] The java version must be greater than or equal to 
$JAVA_VERSION_REQUIRED, the current java version is $version"
                exit 1;
        fi
+
+       if [[ ${JAVA_OPTS} == "" ]] ;then  export JAVA_OPTS="${java_opts}" ;fi
 }
 
 sanity_check_files() {

Reply via email to