Repository: ambari Updated Branches: refs/heads/trunk 954a7072b -> a189c91b0
AMBARI-15582: Stack Featurize Sqoop 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/a189c91b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a189c91b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a189c91b Branch: refs/heads/trunk Commit: a189c91b027f4949f0100820b2f1c96d90b38fce Parents: 954a707 Author: Jayush Luniya <[email protected]> Authored: Tue Mar 29 19:06:33 2016 -0700 Committer: Jayush Luniya <[email protected]> Committed: Tue Mar 29 19:06:33 2016 -0700 ---------------------------------------------------------------------- .../1.4.4.2.0/package/scripts/params_linux.py | 24 ++++++++++++-------- .../1.4.4.2.0/package/scripts/service_check.py | 3 ++- .../1.4.4.2.0/package/scripts/sqoop_client.py | 8 ++++--- 3 files changed, 21 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a189c91b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py index 7048a9f..0a42971 100644 --- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py @@ -21,6 +21,9 @@ from resource_management.libraries.functions.version import format_stack_version from resource_management.libraries.functions.default import default from resource_management.libraries.functions.get_kinit_path import get_kinit_path from resource_management.libraries.script import Script +from resource_management.libraries.functions.format import format +from resource_management.libraries.functions import StackFeature +from resource_management.libraries.functions.stack_features import check_stack_feature import os # a map of the Ambari role to the component name @@ -32,6 +35,7 @@ SERVER_ROLE_DIRECTORY_MAP = { component_directory = Script.get_component_from_role(SERVER_ROLE_DIRECTORY_MAP, "SQOOP") config = Script.get_config() +stack_root = Script.get_stack_root() cluster_name = config['clusterName'] @@ -54,15 +58,15 @@ hive_home = "/usr/lib/hive" sqoop_bin_dir = "/usr/bin" zoo_conf_dir = "/etc/zookeeper" -# HDP 2.2+ params -if Script.is_stack_greater_or_equal("2.2"): - sqoop_conf_dir = '/usr/hdp/current/sqoop-client/conf' - sqoop_lib = '/usr/hdp/current/sqoop-client/lib' - hadoop_home = '/usr/hdp/current/hbase-client' - hbase_home = '/usr/hdp/current/hbase-client' - hive_home = '/usr/hdp/current/hive-client' - sqoop_bin_dir = '/usr/hdp/current/sqoop-client/bin/' - zoo_conf_dir = "/usr/hdp/current/zookeeper-client/conf" +# For stack versions supporting rolling upgrade +if stack_version_formatted and check_stack_feature(StackFeature.ROLLING_UPGRADE, stack_version_formatted): + sqoop_conf_dir = format("{stack_root}/current/sqoop-client/conf") + sqoop_lib = format("{stack_root}/current/sqoop-client/lib") + hadoop_home = format("{stack_root}/current/hbase-client") + hbase_home = format("{stack_root}/current/hbase-client") + hive_home = format("{stack_root}/current/hive-client") + sqoop_bin_dir = format("{stack_root}/current/sqoop-client/bin/") + zoo_conf_dir = format("{stack_root}/current/zookeeper-client/conf") security_enabled = config['configurations']['cluster-env']['security_enabled'] smokeuser = config['configurations']['cluster-env']['smokeuser'] @@ -115,6 +119,6 @@ has_atlas = len(atlas_hosts) > 0 if has_atlas: atlas_conf_file = config['configurations']['atlas-env']['metadata_conf_file'] - atlas_home_dir = os.environ['METADATA_HOME_DIR'] if 'METADATA_HOME_DIR' in os.environ else '/usr/hdp/current/atlas-server' + atlas_home_dir = os.environ['METADATA_HOME_DIR'] if 'METADATA_HOME_DIR' in os.environ else fomat("{stack_root}/current/atlas-server") atlas_conf_dir = os.environ['METADATA_CONF'] if 'METADATA_CONF' in os.environ else '/etc/atlas/conf' job_data_publish_class = 'org.apache.atlas.sqoop.hook.SqoopHook' http://git-wip-us.apache.org/repos/asf/ambari/blob/a189c91b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/service_check.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/service_check.py index c0d0e8c..f4f0302 100644 --- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/service_check.py +++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/service_check.py @@ -33,7 +33,8 @@ class SqoopServiceCheck(Script): class SqoopServiceCheckDefault(SqoopServiceCheck): def get_stack_to_component(self): - return {"HDP": "sqoop-server"} + import params + return {params.stack_name: "sqoop-server"} def service_check(self, env): import params http://git-wip-us.apache.org/repos/asf/ambari/blob/a189c91b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py index 06ffae4..d0fd234 100644 --- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py +++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py @@ -24,7 +24,8 @@ from resource_management.libraries.script.script import Script from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import stack_select from resource_management.libraries.functions.format import format -from resource_management.libraries.functions.version import compare_versions, format_stack_version +from resource_management.libraries.functions import StackFeature +from resource_management.libraries.functions.stack_features import check_stack_feature from sqoop import sqoop from ambari_commons.os_family_impl import OsFamilyImpl from ambari_commons import OSConst @@ -45,13 +46,14 @@ class SqoopClient(Script): @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT) class SqoopClientDefault(SqoopClient): def get_stack_to_component(self): - return {"HDP": "sqoop-client"} + import params + return {params.stack_name: "sqoop-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, "sqoop", params.version) stack_select.select("sqoop-client", params.version)
