You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jl...@apache.org on 2015/09/02 18:07:23 UTC
ambari git commit: AMBARI-12018. JCE distribution should be done as
part of Kerberos service configure function instead from hooks (refactoring)
(Emil Anca via rlevas)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 189beebd3 -> 113a0b602
AMBARI-12018. JCE distribution should be done as part of Kerberos service configure function instead from hooks (refactoring) (Emil Anca via rlevas)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/113a0b60
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/113a0b60
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/113a0b60
Branch: refs/heads/branch-2.1
Commit: 113a0b602f59f03a05851ad4f4bfcec7d8f00d57
Parents: 189beeb
Author: Emil Anca <ea...@hortonworks.com>
Authored: Mon Jun 22 11:22:39 2015 -0400
Committer: Jayush Luniya <jl...@hortonworks.com>
Committed: Wed Sep 2 09:07:19 2015 -0700
----------------------------------------------------------------------
.../package/scripts/kerberos_client.py | 6 ++++
.../package/scripts/kerberos_common.py | 33 +++++++++++++++++++
.../1.10.3-10/package/scripts/params.py | 9 ++++++
.../HDP/2.0.6/hooks/before-ANY/scripts/hook.py | 3 +-
.../2.0.6/hooks/before-ANY/scripts/params.py | 2 --
.../before-ANY/scripts/shared_initialization.py | 34 --------------------
.../2.0.6/hooks/before-ANY/test_before_any.py | 7 +---
.../stacks/2.2/KERBEROS/test_kerberos_client.py | 6 ++++
8 files changed, 56 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_client.py b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_client.py
index 282915a..580545d 100644
--- a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_client.py
+++ b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_client.py
@@ -37,6 +37,8 @@ class KerberosClient(KerberosScript):
if params.manage_krb5_conf:
self.write_krb5_conf()
+ self.setup_jce()
+
def status(self, env):
raise ClientComponentHasNoStatus()
@@ -67,5 +69,9 @@ class KerberosClient(KerberosScript):
def remove_keytab(self, env):
self.delete_keytab_file()
+ def download_install_jce(self, env):
+ self.setup_jce()
+
+
if __name__ == "__main__":
KerberosClient().execute()
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
index cd9b2ba..d40627a 100644
--- a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
+++ b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
@@ -428,3 +428,36 @@ class KerberosScript(Script):
curr_content['keytabs'][principal.replace("_HOST", params.hostname)] = '_REMOVED_'
self.put_structured_out(curr_content)
+
+ def setup_jce(self):
+ import params
+
+ if not params.jdk_name:
+ return
+ jce_curl_target = None
+ if params.jce_policy_zip is not None:
+ jce_curl_target = format("{artifact_dir}/{jce_policy_zip}")
+ Directory(params.artifact_dir,
+ recursive = True,
+ )
+ File(jce_curl_target,
+ content = DownloadSource(format("{jce_location}/{jce_policy_zip}")),
+ )
+ elif params.security_enabled:
+ # Something weird is happening
+ raise Fail("Security is enabled, but JCE policy zip is not specified.")
+
+ # The extraction will occur only after the security flag is set
+ if params.security_enabled:
+ security_dir = format("{java_home}/jre/lib/security")
+
+ File([format("{security_dir}/US_export_policy.jar"), format("{security_dir}/local_policy.jar")],
+ action = "delete",
+ )
+
+ extract_cmd = ("unzip", "-o", "-j", "-q", jce_curl_target, "-d", security_dir)
+ Execute(extract_cmd,
+ only_if = format("test -e {security_dir} && test -f {jce_curl_target}"),
+ path = ['/bin/','/usr/bin'],
+ sudo = True
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/params.py b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/params.py
index beb0479..422c686 100644
--- a/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/params.py
@@ -62,6 +62,15 @@ smoke_user = 'ambari-qa'
manage_identities = 'true'
+artifact_dir = format("{tmp_dir}/AMBARI-artifacts/")
+jce_policy_zip = default("/hostLevelParams/jce_name", None) # None when jdk is already installed by user
+jce_location = config['hostLevelParams']['jdk_location']
+jdk_name = default("/hostLevelParams/jdk_name", None)
+java_home = config['hostLevelParams']['java_home']
+java_version = int(config['hostLevelParams']['java_version'])
+
+security_enabled = config['configurations']['cluster-env']['security_enabled']
+
if config is not None:
kerberos_command_params = get_property_value(config, 'kerberosCommandParams')
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/hook.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/hook.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/hook.py
index 2f95c94..18dd49e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/hook.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/hook.py
@@ -25,8 +25,7 @@ class BeforeAnyHook(Hook):
def hook(self, env):
import params
env.set_params(params)
-
- setup_jce()
+
setup_users()
if params.has_namenode:
setup_hadoop_env()
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
index ae758a6..8abd72b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
@@ -38,8 +38,6 @@ config = Script.get_config()
tmp_dir = Script.get_tmp_dir()
artifact_dir = format("{tmp_dir}/AMBARI-artifacts/")
-jce_policy_zip = default("/hostLevelParams/jce_name", None) # None when jdk is already installed by user
-jce_location = config['hostLevelParams']['jdk_location']
jdk_name = default("/hostLevelParams/jdk_name", None)
java_home = config['hostLevelParams']['java_home']
java_version = int(config['hostLevelParams']['java_version'])
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
index a22c27c..bd44caf 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py
@@ -24,40 +24,6 @@ from copy import copy
from resource_management.libraries.functions.version import compare_versions
from resource_management import *
-
-
-def setup_jce():
- import params
-
- if not params.jdk_name:
- return
-
- if params.jce_policy_zip is not None:
- jce_curl_target = format("{artifact_dir}/{jce_policy_zip}")
- Directory(params.artifact_dir,
- recursive = True,
- )
- File(jce_curl_target,
- content = DownloadSource(format("{jce_location}/{jce_policy_zip}")),
- )
- elif params.security_enabled:
- # Something weird is happening
- raise Fail("Security is enabled, but JCE policy zip is not specified.")
-
- if params.security_enabled:
- security_dir = format("{java_home}/jre/lib/security")
-
- File([format("{security_dir}/US_export_policy.jar"), format("{security_dir}/local_policy.jar")],
- action = "delete",
- )
-
- extract_cmd = ("unzip", "-o", "-j", "-q", jce_curl_target, "-d", security_dir)
- Execute(extract_cmd,
- only_if = format("test -e {security_dir} && test -f {jce_curl_target}"),
- path = ['/bin/','/usr/bin'],
- sudo = True
- )
-
def setup_users():
"""
Creates users before cluster installation
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py
index 82740fc..39fd3d5 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py
@@ -43,12 +43,7 @@ class TestHookBeforeInstall(RMFTestCase):
command="hook",
config_file="default.json"
)
- self.assertResourceCalled('Directory', '/tmp/AMBARI-artifacts/',
- recursive = True,
- )
- self.assertResourceCalled('File', '/tmp/AMBARI-artifacts//UnlimitedJCEPolicyJDK7.zip',
- content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//UnlimitedJCEPolicyJDK7.zip'),
- )
+
self.assertResourceCalled('Group', 'hadoop',
)
self.assertResourceCalled('Group', 'nobody',
http://git-wip-us.apache.org/repos/asf/ambari/blob/113a0b60/ambari-server/src/test/python/stacks/2.2/KERBEROS/test_kerberos_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/KERBEROS/test_kerberos_client.py b/ambari-server/src/test/python/stacks/2.2/KERBEROS/test_kerberos_client.py
index 85f3f7c..105e741 100644
--- a/ambari-server/src/test/python/stacks/2.2/KERBEROS/test_kerberos_client.py
+++ b/ambari-server/src/test/python/stacks/2.2/KERBEROS/test_kerberos_client.py
@@ -93,6 +93,12 @@ class TestKerberosClient(RMFTestCase):
target = RMFTestCase.TARGET_COMMON_SERVICES
)
+ self.assertResourceCalled('Directory', '/tmp/AMBARI-artifacts/',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/tmp/AMBARI-artifacts//UnlimitedJCEPolicyJDK7.zip',
+ content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//UnlimitedJCEPolicyJDK7.zip'),
+ )
self.assertNoMoreResources()
def test_configure_unmanaged_ad(self):