You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2014/08/21 12:52:35 UTC
git commit: AMBARI-6958. If postgres user cannot login,
the upgrade fails (dlysnichenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 3a05d2ca1 -> 9434e18be
AMBARI-6958. If postgres user cannot login, the upgrade fails (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9434e18b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9434e18b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9434e18b
Branch: refs/heads/trunk
Commit: 9434e18beea56f82a1c2c6d7220b714923e7c2c4
Parents: 3a05d2c
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Wed Aug 20 23:26:23 2014 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Thu Aug 21 13:51:27 2014 +0300
----------------------------------------------------------------------
ambari-server/src/main/python/ambari-server.py | 13 ++++--
.../src/test/python/TestAmbariServer.py | 43 ++++++++++++++++++++
2 files changed, 52 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/9434e18b/ambari-server/src/main/python/ambari-server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari-server.py b/ambari-server/src/main/python/ambari-server.py
index bb9870b..23c8444 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -2632,7 +2632,14 @@ def change_objects_owner(args):
command = CHANGE_OWNER_COMMAND[:]
command[-1] = command[-1].format(database_name, 'ambari', new_owner)
- return run_os_command(command)
+ retcode, stdout, stderr = run_os_command(command)
+ if not retcode == 0:
+ if VERBOSE:
+ if stdout:
+ print_error_msg(stdout.strip())
+ if stderr:
+ print_error_msg(stderr.strip())
+ raise FatalException(20, 'Unable to change owner of database objects')
def compare_versions(version1, version2):
@@ -2737,9 +2744,7 @@ def upgrade(args):
parse_properties_file(args)
#TODO check database version
if args.persistence_type == 'local':
- retcode, stdout, stderr = change_objects_owner(args)
- if not retcode == 0:
- raise FatalException(20, 'Unable to change owner of database objects')
+ change_objects_owner(args)
retcode = run_schema_upgrade()
if not retcode == 0:
http://git-wip-us.apache.org/repos/asf/ambari/blob/9434e18b/ambari-server/src/test/python/TestAmbariServer.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestAmbariServer.py b/ambari-server/src/test/python/TestAmbariServer.py
index ad80b1e..cd81a7e 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -5107,3 +5107,46 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
self.assertTrue(perform_housekeeping_mock.called)
+ @patch.object(ambari_server, "run_os_command")
+ @patch.object(ambari_server, "print_error_msg")
+ def test_change_objects_owner_both(self,
+ print_error_msg_mock,
+ run_os_command_mock):
+ args = MagicMock()
+ stdout = " stdout "
+ stderr = " stderr "
+ run_os_command_mock.return_value = 1, stdout, stderr
+
+ ambari_server.VERBOSE = True
+ self.assertRaises(FatalException, ambari_server.change_objects_owner, args)
+ print_error_msg_mock.assert_any_call("stderr")
+ print_error_msg_mock.assert_any_call("stdout")
+
+ @patch.object(ambari_server, "run_os_command")
+ @patch.object(ambari_server, "print_error_msg")
+ def test_change_objects_owner_only_stdout(self,
+ print_error_msg_mock,
+ run_os_command_mock):
+ args = MagicMock()
+ stdout = " stdout "
+ stderr = ""
+ run_os_command_mock.return_value = 1, stdout, stderr
+
+ ambari_server.VERBOSE = True
+ self.assertRaises(FatalException, ambari_server.change_objects_owner, args)
+ print_error_msg_mock.assert_called_once_with("stdout")
+
+ @patch.object(ambari_server, "run_os_command")
+ @patch.object(ambari_server, "print_error_msg")
+ def test_change_objects_owner_only_stderr(self,
+ print_error_msg_mock,
+ run_os_command_mock):
+ args = MagicMock()
+ stdout = ""
+ stderr = " stderr "
+ run_os_command_mock.return_value = 1, stdout, stderr
+
+ ambari_server.VERBOSE = True
+ self.assertRaises(FatalException, ambari_server.change_objects_owner, args)
+ print_error_msg_mock.assert_called_once_with("stderr")
+