Repository: ambari Updated Branches: refs/heads/AMBARI-13364 aac5389fe -> 7f4975fa5
AMBARI-14435: Parameterize distro-specific stack information for ZOOKEEPER (Juanjo Marron via dili) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7f4975fa Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7f4975fa Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7f4975fa Branch: refs/heads/AMBARI-13364 Commit: 7f4975fa5078eff6fda34c76b9830c263e03f859 Parents: aac5389 Author: Di Li <[email protected]> Authored: Mon Feb 29 10:19:21 2016 -0500 Committer: Di Li <[email protected]> Committed: Mon Feb 29 10:19:21 2016 -0500 ---------------------------------------------------------------------- .../3.4.5.2.0/package/scripts/params_linux.py | 15 ++++++++------- .../3.4.5.2.0/package/scripts/params_windows.py | 4 ++-- .../3.4.5.2.0/package/scripts/service_check.py | 2 +- .../3.4.5.2.0/package/scripts/status_params.py | 10 +++++++--- .../ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py | 4 ++-- .../3.4.5.2.0/package/scripts/zookeeper_client.py | 5 +++-- .../3.4.5.2.0/package/scripts/zookeeper_server.py | 5 +++-- .../3.4.5.2.0/package/scripts/zookeeper_service.py | 4 ++-- .../stacks/HDP/2.0.6/configuration/cluster-env.xml | 10 ++++++++++ 9 files changed, 38 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_linux.py index c6264ff..8834879 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_linux.py @@ -32,9 +32,11 @@ config = Script.get_config() tmp_dir = Script.get_tmp_dir() stack_version_unformatted = str(config['hostLevelParams']['stack_version']) -hdp_stack_version = format_hdp_stack_version(stack_version_unformatted) +stack_version_formatted = format_hdp_stack_version(stack_version_unformatted) +stack_version_ru_support = config['configurations']['cluster-env']['stack_version_ru_support'] stack_name = default("/hostLevelParams/stack_name", None) +stack_dir = config['configurations']['cluster-env']['stack_dir'] current_version = default("/hostLevelParams/current_version", None) component_directory = status_params.component_directory @@ -48,14 +50,13 @@ zk_cli_shell = "/usr/lib/zookeeper/bin/zkCli.sh" config_dir = "/etc/zookeeper/conf" zk_smoke_out = os.path.join(tmp_dir, "zkSmoke.out") -# hadoop parameters for 2.2+ -if Script.is_hdp_stack_greater_or_equal("2.2"): - zk_home = format("/usr/hdp/current/{component_directory}") - zk_bin = format("/usr/hdp/current/{component_directory}/bin") - zk_cli_shell = format("/usr/hdp/current/{component_directory}/bin/zkCli.sh") +# hadoop parameters for stack_version_ru_support+ +if Script.is_hdp_stack_greater_or_equal(stack_version_ru_support): + zk_home = format("{stack_dir}/current/{component_directory}") + zk_bin = format("{stack_dir}/current/{component_directory}/bin") + zk_cli_shell = format("{stack_dir}/current/{component_directory}/bin/zkCli.sh") config_dir = status_params.config_dir - zk_user = config['configurations']['zookeeper-env']['zk_user'] hostname = config['hostname'] user_group = config['configurations']['cluster-env']['user_group'] http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_windows.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_windows.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_windows.py index 480fc8b..c36e152 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_windows.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/params_windows.py @@ -26,11 +26,11 @@ import status_params config = Script.get_config() config_dir = None -hdp_root = None +stack_root = None try: # not used zookeeper_home_dir = os.environ["ZOOKEEPER_HOME"] config_dir = os.environ["ZOOKEEPER_CONF_DIR"] - hdp_root = os.environ["HADOOP_NODE_INSTALL_ROOT"] + stack_root = os.environ["HADOOP_NODE_INSTALL_ROOT"] except: pass http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py index b53e5f5..622a5eb 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py @@ -65,7 +65,7 @@ class ZookeeperServiceCheckWindows(ZookeeperServiceCheck): import params env.set_params(params) - smoke_cmd = os.path.join(params.hdp_root,"Run-SmokeTests.cmd") + smoke_cmd = os.path.join(params.stack_root,"Run-SmokeTests.cmd") service = "Zookeeper" Execute(format("cmd /C {smoke_cmd} {service}"), user=params.zk_user, logoutput=True, tries=3, try_sleep=20) http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py index ae2a1fd..a2d4bb1 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/status_params.py @@ -24,7 +24,7 @@ from resource_management.libraries.functions import get_kinit_path from resource_management.libraries.script.script import Script # a map of the Ambari role to the component name -# for use with /usr/hdp/current/<component> +# for use with <stack_dir>/current/<component> SERVER_ROLE_DIRECTORY_MAP = { 'ZOOKEEPER_SERVER' : 'zookeeper-server', 'ZOOKEEPER_CLIENT' : 'zookeeper-client' @@ -47,6 +47,10 @@ else: tmp_dir = Script.get_tmp_dir() zk_user = config['configurations']['zookeeper-env']['zk_user'] + # Stack related params + stack_version_ru_support = config['configurations']['cluster-env']['stack_version_ru_support'] + stack_dir = config['configurations']['cluster-env']['stack_dir'] + config_dir = "/etc/zookeeper/conf" - if Script.is_hdp_stack_greater_or_equal("2.2"): - config_dir = format("/usr/hdp/current/{component_directory}/conf") + if Script.is_hdp_stack_greater_or_equal(stack_version_ru_support): + config_dir = format("{stack_dir}/current/{component_directory}/conf") http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py index 2727641..0636825 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py @@ -35,8 +35,8 @@ def zookeeper(type = None, upgrade_type=None): if type == 'server': # This path may be missing after Ambari upgrade. We need to create it. We need to do this before any configs will # be applied. - if upgrade_type is None and not os.path.exists("/usr/hdp/current/zookeeper-server") and params.current_version\ - and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + if upgrade_type is None and not os.path.exists(os.path.join(params.stack_dir, "/current/zookeeper-server")) and params.current_version\ + and compare_versions(format_hdp_stack_version(params.version), params.stack_version_ru_support) >= 0: conf_select.select(params.stack_name, "zookeeper", params.current_version) hdp_select.select("zookeeper-server", params.version) http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py index 7a11fee..f92f16c 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py @@ -54,7 +54,8 @@ class ZookeeperClient(Script): @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT) class ZookeeperClientLinux(ZookeeperClient): def get_stack_to_component(self): - return {"HDP": "zookeeper-client"} + import params + return {params.stack_name: "zookeeper-client"} def install(self, env): self.install_packages(env) @@ -65,7 +66,7 @@ class ZookeeperClientLinux(ZookeeperClient): import params env.set_params(params) - if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + if params.version and compare_versions(format_hdp_stack_version(params.version), params.stack_version_ru_support) >= 0: conf_select.select(params.stack_name, "zookeeper", params.version) hdp_select.select("zookeeper-client", params.version) http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py index 842deb0..1c25230 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py @@ -63,7 +63,8 @@ class ZookeeperServer(Script): class ZookeeperServerLinux(ZookeeperServer): def get_stack_to_component(self): - return {"HDP": "zookeeper-server"} + import params + return {params.stack_name: "zookeeper-server"} def install(self, env): self.install_packages(env) @@ -74,7 +75,7 @@ class ZookeeperServerLinux(ZookeeperServer): import params env.set_params(params) - if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + if params.version and compare_versions(format_hdp_stack_version(params.version), params.stack_version_ru_support) >= 0: conf_select.select(params.stack_name, "zookeeper", params.version) hdp_select.select("zookeeper-server", params.version) http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py index afa332a..6011294 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py @@ -32,8 +32,8 @@ def zookeeper_service(action='start', upgrade_type=None): import params # This path may be missing after Ambari upgrade. We need to create it. - if upgrade_type is None and not os.path.exists("/usr/hdp/current/zookeeper-server") and params.current_version \ - and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + if upgrade_type is None and not os.path.exists(os.path.join(params.stack_dir, "/current/zookeeper-server")) and params.current_version \ + and compare_versions(format_hdp_stack_version(params.version), params.stack_version_ru_support) >= 0: conf_select.select(params.stack_name, "zookeeper", params.current_version) hdp_select.select("zookeeper-server", params.version) http://git-wip-us.apache.org/repos/asf/ambari/blob/7f4975fa/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml index 0461978..ea8dce3 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml @@ -21,6 +21,16 @@ --> <configuration> + <property> + <name>stack_dir</name> + <value>/usr/hdp</value> + <description>Directory prefix for stacks installation</description> + </property> + <property> + <name>stack_version_ru_support</name> + <value>2.2.0.0</value> + <description>Stack version from which rolling upgrade is supported and installation layout changed</description> + </property> <property> <name>security_enabled</name> <value>false</value>
