Repository: ambari
Updated Branches:
  refs/heads/trunk 48efeb451 -> 22988751d


AMBARI-16251. Hive metastore alerts are present after upgrade/downgrade and 
enabling security (ncole)


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

Branch: refs/heads/trunk
Commit: 22988751d981abb48f9bc80c4f8536a9cded366f
Parents: 48efeb4
Author: Nate Cole <[email protected]>
Authored: Wed May 4 10:03:13 2016 -0400
Committer: Nate Cole <[email protected]>
Committed: Wed May 4 13:45:39 2016 -0400

----------------------------------------------------------------------
 .../package/scripts/hive_metastore.py           |  8 +--
 .../stacks/2.1/HIVE/test_hive_metastore.py      | 58 ++++++++++----------
 2 files changed, 34 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/22988751/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
index 0b9d134..169f7ea 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
@@ -105,14 +105,14 @@ class HiveMetastoreDefault(HiveMetastore):
 
     is_upgrade = params.upgrade_direction == Direction.UPGRADE
 
-    if is_upgrade and params.stack_version_formatted_major and \
-            check_stack_feature(StackFeature.HIVE_METASTORE_UPGRADE_SCHEMA, 
params.stack_version_formatted_major):
-      self.upgrade_schema(env)
-
     if params.version and check_stack_feature(StackFeature.ROLLING_UPGRADE, 
params.version):
       conf_select.select(params.stack_name, "hive", params.version)
       stack_select.select("hive-metastore", params.version)
 
+    if is_upgrade and params.stack_version_formatted_major and \
+            check_stack_feature(StackFeature.HIVE_METASTORE_UPGRADE_SCHEMA, 
params.stack_version_formatted_major):
+      self.upgrade_schema(env)
+
 
   def security_status(self, env):
     import status_params

http://git-wip-us.apache.org/repos/asf/ambari/blob/22988751/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py 
b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
index 80284a3..c36b428 100644
--- a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
+++ b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
@@ -652,6 +652,15 @@ class TestHiveMetastore(RMFTestCase):
       call_mocks = [(0, None, ''), (0, None)],
       mocks_dict = mocks_dict)
 
+    # conf-select, hdp-select BEFORE upgrade schema calls
+    self.assertResourceCalled('Link', ('/etc/hive/conf'), 
to='/usr/hdp/current/hive-client/conf')
+    self.assertResourceCalled('Execute', ('ambari-python-wrap',
+     '/usr/bin/hdp-select',
+     'set',
+     'hive-metastore',
+     '2.3.0.0-1234'),
+        sudo = True)
+
     # we don't care about configure here - the strings are different anyway 
because this
     # is an upgrade, so just pop those resources off of the call stack
     self.assertResourceCalledIgnoreEarlier('Directory', '/var/lib/hive', owner 
= 'hive', group = 'hadoop',
@@ -659,45 +668,36 @@ class TestHiveMetastore(RMFTestCase):
 
     self.assertResourceCalled('Execute', ('rm', '-f', 
'/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
         path = ['/bin', '/usr/bin/'],
-        sudo = True,
-    )
+        sudo = True)
 
     self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
-        content = 
DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'),
-    )
+        content = 
DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
+
     self.assertResourceCalled('Execute', ('cp',
      '--remove-destination',
      '/tmp/mysql-connector-java.jar',
      '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
         path = ['/bin', '/usr/bin/'],
-        sudo = True,
-    )
+        sudo = True)
+
     self.assertResourceCalled('File', 
'/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar',
-        mode = 0644,
-    )
+        mode = 0644)
+
     self.assertResourceCalled('Execute', ('cp',
      '/usr/hdp/2.2.7.0-1234/hive/lib/mysql-connector-java.jar',
      '/usr/hdp/2.3.0.0-1234/hive/lib'),
         path = ['/bin', '/usr/bin/'],
-        sudo = True,
-    )
+        sudo = True)
+
     self.assertResourceCalled('File', 
'/usr/hdp/2.3.0.0-1234/hive/lib/mysql-connector-java.jar',
-        mode = 0644,
-    )
+        mode = 0644)
+
     self.assertResourceCalled('Execute', 
'/usr/hdp/2.3.0.0-1234/hive/bin/schematool -dbType mysql -upgradeSchema',
-        logoutput = True,
-        environment = {'HIVE_CONF_DIR': '/etc/hive/conf.server'},
-        tries = 1,
-        user = 'hive',
-    )
-    self.assertResourceCalled('Link', ('/etc/hive/conf'), 
to='/usr/hdp/current/hive-client/conf')
-    self.assertResourceCalled('Execute', ('ambari-python-wrap',
-     '/usr/bin/hdp-select',
-     'set',
-     'hive-metastore',
-     '2.3.0.0-1234'),
-        sudo = True,
-    )
+         logoutput = True,
+         environment = {'HIVE_CONF_DIR': '/etc/hive/conf.server'},
+         tries = 1,
+         user = 'hive')
+
     self.assertNoMoreResources()
 
   @patch("os.path.exists")
@@ -808,6 +808,11 @@ class TestHiveMetastore(RMFTestCase):
                        call_mocks = [(0, None, ''), (0, None)],
                        mocks_dict = mocks_dict)
 
+    self.assertResourceCalled('Link', ('/etc/hive/conf'), 
to='/usr/hdp/current/hive-client/conf')
+
+    self.assertResourceCalled('Execute', ('ambari-python-wrap', 
'/usr/bin/hdp-select', 'set', 'hive-metastore', version), sudo=True,)
+
+
     # we don't care about configure here - the strings are different anyway 
because this
     # is an upgrade, so just pop those resources off of the call stack
     self.assertResourceCalledIgnoreEarlier('Directory', '/var/lib/hive', owner 
= 'hive', group = 'hadoop',
@@ -865,8 +870,5 @@ class TestHiveMetastore(RMFTestCase):
                               logoutput = True, environment = 
{'HIVE_CONF_DIR': '/usr/hdp/current/hive-server2/conf/conf.server'},
                               tries = 1, user = 'hive')
 
-    self.assertResourceCalled('Link', ('/etc/hive/conf'), 
to='/usr/hdp/current/hive-client/conf')
-
-    self.assertResourceCalled('Execute', ('ambari-python-wrap', 
'/usr/bin/hdp-select', 'set', 'hive-metastore', version), sudo=True,)
 
     self.assertNoMoreResources()

Reply via email to