Repository: ambari
Updated Branches:
  refs/heads/trunk 0696a804c -> 5e4faf1ea


AMBARI-17607. Add localjecks support in ambari for Ranger and Ranger KMS 
services (Mugdha Varadkar via srimanth)


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

Branch: refs/heads/trunk
Commit: 5e4faf1ea928695e6dc5e1ace3dd1a0f1636890e
Parents: 0696a80
Author: Srimanth Gunturi <sgunt...@hortonworks.com>
Authored: Thu Jul 7 14:16:46 2016 -0700
Committer: Srimanth Gunturi <sgunt...@hortonworks.com>
Committed: Thu Jul 7 14:25:13 2016 -0700

----------------------------------------------------------------------
 .../resource_management/libraries/functions/constants.py     | 1 +
 .../common-services/RANGER/0.4.0/package/scripts/params.py   | 3 ++-
 .../RANGER/0.4.0/package/scripts/setup_ranger_xml.py         | 5 ++++-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py              | 5 ++++-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/params.py           | 1 +
 .../stacks/HDP/2.0.6/properties/stack_features.json          | 5 +++++
 .../src/test/python/stacks/2.5/RANGER/test_ranger_admin.py   | 4 ++--
 .../test/python/stacks/2.5/RANGER/test_ranger_usersync.py    | 4 ++--
 .../src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py | 8 ++++----
 9 files changed, 25 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
----------------------------------------------------------------------
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
index cd73049..948beb2 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
@@ -92,4 +92,5 @@ class StackFeature:
   ATLAS_UPGRADE_SUPPORT = "atlas_upgrade_support"
   RANGER_PID_SUPPORT = "ranger_pid_support"
   RANGER_KMS_PID_SUPPORT = "ranger_kms_pid_support"
+  RANGER_LOCALJCEKS_SUPPORT = "ranger_localjceks_support"
   RANGER_ADMIN_PASSWD_CHANGE = "ranger_admin_password_change"

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
index fad4b9b..c7241c3 100644
--- 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
@@ -66,6 +66,7 @@ stack_supports_ranger_kerberos = stack_version_formatted and 
check_stack_feature
 stack_supports_usersync_passwd = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_USERSYNC_PASSWORD_JCEKS, 
stack_version_formatted)
 stack_supports_logsearch_client = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_INSTALL_LOGSEARCH_CLIENT, 
stack_version_formatted)
 stack_supports_pid = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_PID_SUPPORT, stack_version_formatted)
+stack_supports_localjceks = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_LOCALJCEKS_SUPPORT, 
stack_version_formatted)
 stack_supports_ranger_admin_password_change = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_ADMIN_PASSWD_CHANGE, 
stack_version_formatted)
 
 downgrade_from_version = default("/commandParams/downgrade_from_version", None)
@@ -355,4 +356,4 @@ ranger_usersync_pid_file = 
format('{ranger_pid_dir}/usersync.pid')
 # admin credential
 admin_username = config['configurations']['ranger-env']['admin_username']
 admin_password = config['configurations']['ranger-env']['admin_password']
-default_admin_password = 'admin'
\ No newline at end of file
+default_admin_password = 'admin'

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
index eac4aee..9dbf6d4 100644
--- 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py
@@ -527,7 +527,10 @@ def ranger_credential_helper(lib_path, alias_key, 
alias_value, file_path):
   import params
 
   java_bin = format('{java_home}/bin/java')
-  file_path = format('jceks://file{file_path}')
+  jceks_scheme = 'jceks'
+  if params.stack_supports_localjceks:
+    jceks_scheme = 'localjceks'
+  file_path = format('{jceks_scheme}://file{file_path}')
   cmd = (java_bin, '-cp', lib_path, 'org.apache.ranger.credentialapi.buildks', 
'create', alias_key, '-value', PasswordString(alias_value), '-provider', 
file_path)
   Execute(cmd, environment={'JAVA_HOME': params.java_home}, logoutput=True, 
sudo=True)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
index 0a8c7d3..b53f877 100755
--- 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py
@@ -115,7 +115,10 @@ def do_keystore_setup(cred_provider_path, 
credential_alias, credential_password)
 
   if cred_provider_path is not None:
     java_bin = format('{java_home}/bin/java')
-    file_path = format('jceks://file{cred_provider_path}')
+    jceks_scheme = 'jceks'
+    if params.stack_supports_localjceks:
+      jceks_scheme = 'localjceks'
+    file_path = format('{jceks_scheme}://file{cred_provider_path}')
     cmd = (java_bin, '-cp', params.cred_lib_path, 
'org.apache.ranger.credentialapi.buildks', 'create', credential_alias, 
'-value', PasswordString(credential_password), '-provider', file_path)
     Execute(cmd,
             environment={'JAVA_HOME': params.java_home}, 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
index dfcad32..52f1e13 100755
--- 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
@@ -42,6 +42,7 @@ stack_supports_config_versioning =  stack_version_formatted 
and check_stack_feat
 stack_support_kms_hsm = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_KMS_HSM_SUPPORT, 
stack_version_formatted)
 stack_supports_ranger_kerberos = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_KERBEROS_SUPPORT, 
stack_version_formatted)
 stack_supports_pid = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_KMS_PID_SUPPORT, 
stack_version_formatted)
+stack_supports_localjceks = stack_version_formatted and 
check_stack_feature(StackFeature.RANGER_LOCALJCEKS_SUPPORT, 
stack_version_formatted)
 hadoop_conf_dir = conf_select.get_hadoop_conf_dir()
 security_enabled = config['configurations']['cluster-env']['security_enabled']
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
index 7f85ad3..1551cc5 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
@@ -265,6 +265,11 @@
       "name": "ranger_admin_password_change",
       "description": "Allow ranger admin credentials to be specified during 
cluster creation (AMBARI-17000)",
       "min_version": "2.5.0.0"
+    },
+    {
+      "name": "ranger_localjceks_support",
+      "description": "Ranger Service support localjceks",
+      "min_version": "2.5.0.0"
     }
   ]
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_admin.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_admin.py 
b/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_admin.py
index 247b978..4425151 100644
--- a/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_admin.py
+++ b/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_admin.py
@@ -317,7 +317,7 @@ class TestRangerAdmin(RMFTestCase):
       mode = 0644
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-admin/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'rangeradmin', '-value', 
'rangeradmin01', '-provider', 
'jceks://file/etc/ranger/admin/rangeradmin.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-admin/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'rangeradmin', '-value', 
'rangeradmin01', '-provider', 
'localjceks://file/etc/ranger/admin/rangeradmin.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo = True
@@ -460,7 +460,7 @@ class TestRangerAdmin(RMFTestCase):
       mode = 0644
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-admin/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'rangeradmin', '-value', 
'rangeradmin01', '-provider', 
'jceks://file/etc/ranger/admin/rangeradmin.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-admin/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'rangeradmin', '-value', 
'rangeradmin01', '-provider', 
'localjceks://file/etc/ranger/admin/rangeradmin.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo = True

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_usersync.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_usersync.py 
b/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_usersync.py
index 7b6e782..d28c4e3 100644
--- a/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_usersync.py
+++ b/ambari-server/src/test/python/stacks/2.5/RANGER/test_ranger_usersync.py
@@ -148,13 +148,13 @@ class TestRangerUsersync(RMFTestCase):
       mode = 04555
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-usersync/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'usersync.ssl.key.password', '-value', 'UnIx529p', '-provider', 
'jceks://file/usr/hdp/current/ranger-usersync/conf/ugsync.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-usersync/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'usersync.ssl.key.password', '-value', 'UnIx529p', '-provider', 
'localjceks://file/usr/hdp/current/ranger-usersync/conf/ugsync.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo = True
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-usersync/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'usersync.ssl.truststore.password', '-value', 'changeit', '-provider', 
'jceks://file/usr/hdp/current/ranger-usersync/conf/ugsync.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-usersync/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'usersync.ssl.truststore.password', '-value', 'changeit', '-provider', 
'localjceks://file/usr/hdp/current/ranger-usersync/conf/ugsync.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo = True

http://git-wip-us.apache.org/repos/asf/ambari/blob/5e4faf1e/ambari-server/src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py 
b/ambari-server/src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py
index 70e3d42..0f8019e 100644
--- a/ambari-server/src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py
+++ b/ambari-server/src/test/python/stacks/2.5/RANGER_KMS/test_kms_server.py
@@ -318,7 +318,7 @@ class TestRangerKMS(RMFTestCase):
       mode = 0775
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'ranger.ks.jdbc.password', 
'-value', 'rangerkms01', '-provider', 
'jceks://file/etc/ranger/kms/rangerkms.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'ranger.ks.jdbc.password', 
'-value', 'rangerkms01', '-provider', 
'localjceks://file/etc/ranger/kms/rangerkms.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo=True
@@ -330,7 +330,7 @@ class TestRangerKMS(RMFTestCase):
       mode = 0640
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'ranger.ks.masterkey.password', '-value', 'StrongPassword01', '-provider', 
'jceks://file/etc/ranger/kms/rangerkms.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'ranger.ks.masterkey.password', '-value', 'StrongPassword01', '-provider', 
'localjceks://file/etc/ranger/kms/rangerkms.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo=True
@@ -643,7 +643,7 @@ class TestRangerKMS(RMFTestCase):
       mode = 0775
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'ranger.ks.jdbc.password', 
'-value', 'rangerkms01', '-provider', 
'jceks://file/etc/ranger/kms/rangerkms.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 'ranger.ks.jdbc.password', 
'-value', 'rangerkms01', '-provider', 
'localjceks://file/etc/ranger/kms/rangerkms.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo=True
@@ -655,7 +655,7 @@ class TestRangerKMS(RMFTestCase):
       mode = 0640
     )
 
-    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'ranger.ks.masterkey.password', '-value', 'StrongPassword01', '-provider', 
'jceks://file/etc/ranger/kms/rangerkms.jceks'),
+    self.assertResourceCalled('Execute', ('/usr/jdk64/jdk1.7.0_45/bin/java', 
'-cp', '/usr/hdp/current/ranger-kms/cred/lib/*', 
'org.apache.ranger.credentialapi.buildks', 'create', 
'ranger.ks.masterkey.password', '-value', 'StrongPassword01', '-provider', 
'localjceks://file/etc/ranger/kms/rangerkms.jceks'),
       environment = {'JAVA_HOME': u'/usr/jdk64/jdk1.7.0_45'},
       logoutput=True,
       sudo=True

Reply via email to