You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/07/10 00:00:38 UTC

ambari git commit: AMBARI-12364. WebHCat fails to start during upgrade from HDP-2.2 to HDP-2.3 (ncole)

Repository: ambari
Updated Branches:
  refs/heads/trunk ad3289480 -> 630299fb3


AMBARI-12364. WebHCat fails to start during upgrade from HDP-2.2 to HDP-2.3 (ncole)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/630299fb
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/630299fb
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/630299fb

Branch: refs/heads/trunk
Commit: 630299fb3c03a41daea6237e9ed679216e6b00a8
Parents: ad32894
Author: Nate Cole <nc...@hortonworks.com>
Authored: Thu Jul 9 16:58:40 2015 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Thu Jul 9 17:07:00 2015 -0400

----------------------------------------------------------------------
 .../0.12.0.2.0/package/scripts/params_linux.py  |  5 +++++
 .../0.12.0.2.0/package/scripts/status_params.py |  4 ++++
 .../package/scripts/webhcat_server.py           |  1 +
 .../stacks/2.0.6/HIVE/test_webhcat_server.py    | 22 +++++++++++++++-----
 4 files changed, 27 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/630299fb/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index 3f6532c..8b93cd5 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -108,6 +108,11 @@ purge_tables = "false"
 if Script.is_hdp_stack_greater_or_equal("2.3"):
   purge_tables = 'true'
 
+  # this is NOT a typo.  HDP-2.3 configs for hcatalog/webhcat point to a
+  # specific directory which is NOT called 'conf'
+  hcat_conf_dir = '/usr/hdp/current/hive-webhcat/etc/hcatalog'
+  config_dir = '/usr/hdp/current/hive-webhcat/etc/webhcat'
+
 if Script.is_hdp_stack_greater_or_equal("2.2"):
   hive_specific_configs_supported = True
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/630299fb/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
index 99e029d..a9b6628 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
@@ -92,6 +92,10 @@ else:
     # ranger is only compatible with this location on HDP 2.3+, not HDP 2.2
     hive_server_conf_dir = format("/usr/hdp/current/{component_directory}/conf/conf.server")
 
+    # this is NOT a typo.  HDP-2.3 configs for hcatalog/webhcat point to a
+    # specific directory which is NOT called 'conf'
+    webhcat_conf_dir = '/usr/hdp/current/hive-webhcat/etc/webhcat'
+
   hive_config_dir = hive_client_conf_dir
   if 'role' in config and config['role'] in ["HIVE_SERVER", "HIVE_METASTORE"]:
     hive_config_dir = hive_server_conf_dir

http://git-wip-us.apache.org/repos/asf/ambari/blob/630299fb/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
index 012d1e2..412edc7 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
@@ -77,6 +77,7 @@ class WebHCatServerDefault(WebHCatServer):
 
     if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0:
       # webhcat has no conf, but uses hadoop home, so verify that regular hadoop conf is set
+      conf_select.select(params.stack_name, "hive-hcatalog", params.version)
       conf_select.select(params.stack_name, "hadoop", params.version)
       hdp_select.select("hive-webhcat", params.version)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/630299fb/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py
index 5dd26e4..fff2d06 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py
@@ -340,11 +340,14 @@ class TestWebHCatServer(RMFTestCase):
 
   @patch("resource_management.core.shell.call")
   def test_pre_rolling_restart_23(self, call_mock):
+    import sys
+
     config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json"
     with open(config_file, "r") as f:
       json_content = json.load(f)
     version = '2.3.0.0-1234'
     json_content['commandParams']['version'] = version
+    json_content['hostLevelParams']['stack_version'] = "2.3"
 
     mocks_dict = {}
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/webhcat_server.py",
@@ -356,16 +359,25 @@ class TestWebHCatServer(RMFTestCase):
                        call_mocks = [(0, None), (0, None)],
                        mocks_dict = mocks_dict)
 
+    self.assertTrue("params" in sys.modules)
+    self.assertTrue(sys.modules["params"].webhcat_conf_dir is not None)
+    self.assertTrue("/usr/hdp/current/hive-webhcat/etc/webhcat" == sys.modules["params"].webhcat_conf_dir)
+
     self.assertResourceCalled('Execute',
                               ('hdp-select', 'set', 'hive-webhcat', version), sudo=True,)
     self.assertNoMoreResources()
 
-    self.assertEquals(1, mocks_dict['call'].call_count)
-    self.assertEquals(1, mocks_dict['checked_call'].call_count)
+    self.assertEquals(2, mocks_dict['call'].call_count)
+    self.assertEquals(2, mocks_dict['checked_call'].call_count)
     self.assertEquals(
-      ('conf-select', 'set-conf-dir', '--package', 'hadoop', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
+      ('conf-select', 'set-conf-dir', '--package', 'hive-hcatalog', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
        mocks_dict['checked_call'].call_args_list[0][0][0])
-
     self.assertEquals(
-      ('conf-select', 'create-conf-dir', '--package', 'hadoop', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
+      ('conf-select', 'create-conf-dir', '--package', 'hive-hcatalog', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
        mocks_dict['call'].call_args_list[0][0][0])
+    self.assertEquals(
+      ('conf-select', 'set-conf-dir', '--package', 'hadoop', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
+       mocks_dict['checked_call'].call_args_list[1][0][0])
+    self.assertEquals(
+      ('conf-select', 'create-conf-dir', '--package', 'hadoop', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
+       mocks_dict['call'].call_args_list[1][0][0])