Repository: ambari Updated Branches: refs/heads/trunk 5b4e663f8 -> 5c20a2488
AMBARI-15581: Stack Featurize PIG Service (Juanjo Marron via jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5c20a248 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5c20a248 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5c20a248 Branch: refs/heads/trunk Commit: 5c20a2488a69691b27544a41fb57fb8f05aae8ac Parents: 5b4e663 Author: Jayush Luniya <[email protected]> Authored: Tue Mar 29 18:54:51 2016 -0700 Committer: Jayush Luniya <[email protected]> Committed: Tue Mar 29 18:54:51 2016 -0700 ---------------------------------------------------------------------- .../libraries/functions/constants.py | 1 + .../libraries/functions/stack_features.py | 5 +++++ .../PIG/0.12.0.2.0/package/scripts/params_linux.py | 12 ++++++++---- .../PIG/0.12.0.2.0/package/scripts/pig_client.py | 7 +++++-- .../PIG/0.12.0.2.0/package/scripts/service_check.py | 5 +++-- .../stacks/HDP/2.0.6/properties/stack_features.json | 5 +++++ 6 files changed, 27 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/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 006b84c..7ec83b6 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 @@ -55,3 +55,4 @@ class StackFeature: CREATE_KAFKA_BROKER_ID = "create_kafka_broker_id" KAFKA_LISTENERS = "kafka_listeners" KAFKA_KERBEROS = "kafka_kerberos" + PIG_ON_TEZ = "pig_on_tez" http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py ---------------------------------------------------------------------- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py b/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py index 9ad99dc..d79f743 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py @@ -108,6 +108,11 @@ _DEFAULT_STACK_FEATURES = { "name": "kafka_kerberos", "description": "Kafka Kerberos support (AMBARI-10984)", "min_version": "2.3.0.0" + }, + { + "name": "pig_on_tez", + "description": "Pig on Tez support (AMBARI-7863)", + "min_version": "2.2.0.0" } ] } http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/params_linux.py index effd8e8..b7f798c 100644 --- a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/params_linux.py @@ -23,7 +23,10 @@ from resource_management.libraries.script.script import Script from resource_management.libraries.resources.hdfs_resource import HdfsResource from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import stack_select +from resource_management.libraries.functions import StackFeature +from resource_management.libraries.functions.stack_features import check_stack_feature from resource_management.libraries.functions.version import format_stack_version +from resource_management.libraries.functions.format import format from resource_management.libraries.functions.default import default from resource_management.libraries.functions import get_kinit_path from resource_management.libraries.functions.get_not_managed_resources import get_not_managed_resources @@ -33,6 +36,7 @@ config = Script.get_config() tmp_dir = Script.get_tmp_dir() stack_name = default("/hostLevelParams/stack_name", None) +stack_root = Script.get_stack_root() stack_version_unformatted = config['hostLevelParams']['stack_version'] stack_version_formatted = format_stack_version(stack_version_unformatted) @@ -47,11 +51,11 @@ pig_conf_dir = "/etc/pig/conf" hadoop_home = '/usr' pig_bin_dir = "" -# hadoop parameters for 2.2+ -if Script.is_stack_greater_or_equal("2.2"): - pig_conf_dir = "/usr/hdp/current/pig-client/conf" +# hadoop parameters for stack versions supporting rolling_upgrade +if stack_version_formatted and check_stack_feature(StackFeature.ROLLING_UPGRADE, stack_version_formatted): + pig_conf_dir = format("{stack_root}/current/pig-client/conf") hadoop_home = stack_select.get_hadoop_dir("home") - pig_bin_dir = '/usr/hdp/current/pig-client/bin' + pig_bin_dir = format("{stack_root}/current/pig-client/bin") hdfs_user = config['configurations']['hadoop-env']['hdfs_user'] hdfs_principal_name = config['configurations']['hadoop-env']['hdfs_principal_name'] http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py index 304ca15..81db437 100644 --- a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py +++ b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py @@ -24,6 +24,8 @@ import os from resource_management import * from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import stack_select +from resource_management.libraries.functions import StackFeature +from resource_management.libraries.functions.stack_features import check_stack_feature from pig import pig from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl @@ -40,13 +42,14 @@ class PigClient(Script): @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT) class PigClientLinux(PigClient): def get_stack_to_component(self): - return {"HDP": "hadoop-client"} + import params + return {params.stack_name: "hadoop-client"} def pre_upgrade_restart(self, env, upgrade_type=None): import params env.set_params(params) - if params.version and compare_versions(format_stack_version(params.version), '2.2.0.0') >= 0: + if params.version and check_stack_feature(StackFeature.ROLLING_UPGRADE, params.version): conf_select.select(params.stack_name, "pig", params.version) conf_select.select(params.stack_name, "hadoop", params.version) stack_select.select("hadoop-client", params.version) # includes pig-client http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/service_check.py b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/service_check.py index ec2946e..395295f 100644 --- a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/service_check.py +++ b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/service_check.py @@ -25,7 +25,8 @@ from resource_management.core.resources.system import Execute, File from resource_management.core.source import InlineTemplate, StaticFile from resource_management.libraries.functions.copy_tarball import copy_to_hdfs from resource_management.libraries.functions.format import format -from resource_management.libraries.functions.version import compare_versions +from resource_management.libraries.functions import StackFeature +from resource_management.libraries.functions.stack_features import check_stack_feature from resource_management.libraries.resources.execute_hadoop import ExecuteHadoop from resource_management.libraries.resources.hdfs_resource import HdfsResource from resource_management.libraries.script.script import Script @@ -84,7 +85,7 @@ class PigServiceCheckLinux(PigServiceCheck): bin_dir = params.hadoop_bin_dir ) - if params.stack_version_formatted != "" and compare_versions(params.stack_version_formatted, '2.2') >= 0: + if params.stack_version_formatted and check_stack_feature(StackFeature.PIG_ON_TEZ, params.stack_version_formatted): # cleanup results from previous test params.HdfsResource(output_dir, type="directory", http://git-wip-us.apache.org/repos/asf/ambari/blob/5c20a248/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 cfbc9fb..d38985e 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 @@ -82,6 +82,11 @@ "name": "kafka_kerberos", "description": "Kafka Kerberos support (AMBARI-10984)", "min_version": "2.3.0.0" + }, + { + "name": "pig_on_tez", + "description": "Pig on Tez support (AMBARI-7863)", + "min_version": "2.2.0.0" } ] }
