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/06/09 01:33:22 UTC

ambari git commit: AMBARI-11800. RU: Hive upgrade failed when conf.server is not available (ncole)

Repository: ambari
Updated Branches:
  refs/heads/trunk 181699d2f -> b12b16cf3


AMBARI-11800. RU: Hive upgrade failed when conf.server is not available (ncole)


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

Branch: refs/heads/trunk
Commit: b12b16cf35d60acdc5ee1b8818340ede3ca3fe94
Parents: 181699d
Author: Nate Cole <nc...@hortonworks.com>
Authored: Mon Jun 8 17:36:21 2015 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Mon Jun 8 19:16:05 2015 -0400

----------------------------------------------------------------------
 .../package/scripts/hive_server_upgrade.py      |  6 +++++
 .../stacks/2.0.6/HIVE/test_hive_server.py       | 23 ++++++++++++++++++++
 2 files changed, 29 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/b12b16cf/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py
index 0b29d6f..d676304 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_upgrade.py
@@ -17,6 +17,7 @@ limitations under the License.
 
 """
 
+import os
 import re
 from resource_management.core.logger import Logger
 from resource_management.core.exceptions import Fail
@@ -49,6 +50,11 @@ def pre_upgrade_deregister():
   if current_hiveserver_version is None:
     raise Fail('Unable to determine the current HiveServer2 version to deregister.')
 
+  # fallback when upgrading because /usr/hdp/current/hive-server2/conf/conf.server may not exist
+  hive_server_conf_dir = params.hive_server_conf_dir
+  if not os.path.exists(hive_server_conf_dir):
+    hive_server_conf_dir = "/etc/hive/conf.server"
+
   # deregister
   command = format('hive --config {hive_server_conf_dir} --service hiveserver2 --deregister ' + current_hiveserver_version)
   Execute(command, user=params.hive_user, path=params.execute_path, tries=1 )

http://git-wip-us.apache.org/repos/asf/ambari/blob/b12b16cf/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
index 5800bf1..fc97130 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
@@ -666,7 +666,10 @@ class TestHiveServer(RMFTestCase):
 
   @patch("resource_management.libraries.functions.copy_tarball.copy_to_hdfs")
   @patch.object(Script, "is_hdp_stack_greater_or_equal", new = MagicMock(return_value=True))
+  @patch("os.path.exists", new = MagicMock(return_value=True))
+  @patch("platform.linux_distribution", new = MagicMock(return_value="Linux"))
   def test_stop_during_upgrade(self, copy_to_hdfs_mock):
+
     call_side_effects = [(0, "hive-server2 - 2.2.0.0-2041"), (0, "hive-server2 - 2.2.0.0-2041")] * 4
     copy_to_hdfs_mock.return_value = True
 
@@ -683,6 +686,26 @@ class TestHiveServer(RMFTestCase):
 
     self.assertResourceCalled('Execute', 'hdp-select set hive-server2 2.2.1.0-2065',)
 
+  @patch("resource_management.libraries.functions.copy_tarball.copy_to_hdfs")
+  @patch.object(Script, "is_hdp_stack_greater_or_equal", new = MagicMock(return_value=True))
+  def test_stop_during_upgrade_with_default_conf_server(self, copy_to_hdfs_mock):
+
+    call_side_effects = [(0, "hive-server2 - 2.2.0.0-2041"), (0, "hive-server2 - 2.2.0.0-2041")] * 4
+    copy_to_hdfs_mock.return_value = True
+
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_server.py",
+     classname = "HiveServer", command = "restart", config_file = "hive-upgrade.json",
+     hdp_stack_version = self.UPGRADE_STACK_VERSION,
+     target = RMFTestCase.TARGET_COMMON_SERVICES,
+     call_mocks = call_side_effects
+    )
+
+    self.assertResourceCalled('Execute', 'hive --config /etc/hive/conf.server --service hiveserver2 --deregister 2.2.0.0-2041',
+      path=['/bin:/usr/hdp/current/hive-server2/bin:/usr/hdp/current/hadoop-client/bin'],
+      tries=1, user='hive')
+
+    self.assertResourceCalled('Execute', 'hdp-select set hive-server2 2.2.1.0-2065',)
+
   def test_stop_during_upgrade_bad_hive_version(self):
     try:
       self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_server.py",