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()
