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)
 

Reply via email to