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/04/28 21:32:03 UTC
git commit: AMBARI-5577. Turn Off Maintenance Mode for HDFS does not
work (problems with ambari-agent) (dlysnichenko)
Repository: ambari
Updated Branches:
refs/heads/trunk d78c5b2f8 -> 704e11455
AMBARI-5577. Turn Off Maintenance Mode for HDFS does not work (problems with ambari-agent) (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/704e1145
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/704e1145
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/704e1145
Branch: refs/heads/trunk
Commit: 704e114552e39417e3e3c9b974aa297d31320a7e
Parents: d78c5b2
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Mon Apr 28 22:30:19 2014 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Mon Apr 28 22:31:04 2014 +0300
----------------------------------------------------------------------
.../python/ambari_agent/CommandStatusDict.py | 3 +-
.../test/python/ambari_agent/TestActionQueue.py | 6 ++--
.../ambari_agent/TestCommandStatusDict.py | 38 ++++++++++++++++++++
3 files changed, 41 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/704e1145/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py b/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
index 1da6e79..15e7e2e 100644
--- a/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
+++ b/ambari-agent/src/main/python/ambari_agent/CommandStatusDict.py
@@ -102,8 +102,7 @@ class CommandStatusDict():
tmpout = '...'
tmperr = '...'
try:
- with open(report['structuredOut'], 'r') as fp:
- tmpstructuredout = json.load(fp)
+ tmpstructuredout = open(report['structuredOut'], 'r').read()
except Exception:
tmpstructuredout = '{}'
grep = Grep()
http://git-wip-us.apache.org/repos/asf/ambari/blob/704e1145/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
index 7dc80c7..b6b79b1 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -222,10 +222,9 @@ class TestActionQueue(TestCase):
self.assertTrue(print_exc_mock.called)
- @patch("json.load")
@patch("__builtin__.open")
@patch.object(ActionQueue, "status_update_callback")
- def test_execute_command(self, status_update_callback_mock, open_mock, json_load_mock):
+ def test_execute_command(self, status_update_callback_mock, open_mock):
# Make file read calls visible
def open_side_effect(file, mode):
if mode == 'r':
@@ -235,7 +234,6 @@ class TestActionQueue(TestCase):
else:
return self.original_open(file, mode)
open_mock.side_effect = open_side_effect
- json_load_mock.return_value = ''
config = AmbariConfig().getConfig()
tempdir = tempfile.gettempdir()
@@ -276,7 +274,7 @@ class TestActionQueue(TestCase):
expected = {'status': 'IN_PROGRESS',
'stderr': 'Read from {0}/errors-3.txt'.format(tempdir),
'stdout': 'Read from {0}/output-3.txt'.format(tempdir),
- 'structuredOut' : '',
+ 'structuredOut' : 'Read from {0}/structured-out-3.json'.format(tempdir),
'clusterName': u'cc',
'roleCommand': u'INSTALL',
'serviceName': u'HDFS',
http://git-wip-us.apache.org/repos/asf/ambari/blob/704e1145/ambari-agent/src/test/python/ambari_agent/TestCommandStatusDict.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/ambari_agent/TestCommandStatusDict.py b/ambari-agent/src/test/python/ambari_agent/TestCommandStatusDict.py
index 77b8f1b..8751479 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestCommandStatusDict.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestCommandStatusDict.py
@@ -125,3 +125,41 @@ class TestCommandStatusDict(TestCase):
}
self.assertEquals(report, expected)
+ @patch("__builtin__.open")
+ def test_structured_output(self, open_mock):
+ callback_mock = MagicMock()
+ commandStatuses = CommandStatusDict(callback_action = callback_mock)
+ file_mock = MagicMock(name = 'file_mock')
+ file_mock.__enter__.return_value = file_mock
+ file_mock.read.return_value = '{"var1":"test1", "var2":"test2"}'
+ open_mock.return_value = file_mock
+ command_in_progress1 = {
+ 'commandType': 'EXECUTION_COMMAND',
+ 'commandId': '1-1',
+ 'clusterName': u'cc',
+ 'exitCode': 777,
+ 'role': u'DATANODE',
+ 'roleCommand': u'INSTALL',
+ 'serviceName': u'HDFS',
+ 'stderr': '',
+ 'stdout': "notice: /Stage[1]/Hdp::Iptables/Service[iptables]/ensure: ensure changed 'running' to 'stopped'\nnotice: /Stage[1]/Hdp/File[/tmp/changeUid.sh]/ensure: defined content as '{md5}32b994a2e970f8acc3c91c198b484654'\nnotice: /Stage[1]/Hdp::Snappy::Package/Hdp::Package[snappy]/Hdp::Package::Process_pkg[snappy]/Package[snappy]/ensure: created\nnotice: /Stage[1]/Hdp/Hdp::Group[nagios_group]/Group[nagios_group]/ensure: created\nnotice: /Stage[1]/Hdp/Hdp::User[nagios_user]/User[nagios]/ensure: created\nnotice: /Stage[1]/Hdp::Snmp/Hdp::Package[snmp]/Hdp::Package::Process_pkg[snmp]/Package[net-snmp-utils]/ensure: created",
+ 'taskId': 5
+ }
+ command_in_progress1_report = {
+ 'status': 'IN_PROGRESS',
+ 'taskId': 5,
+ 'structuredOut' : 'structured_out.tmp',
+ }
+ commandStatuses.put_command_status(command_in_progress1, command_in_progress1_report)
+ report = commandStatuses.generate_report()
+ expected = \
+ {'componentStatus': [],
+ 'reports': [{'status': 'IN_PROGRESS', 'stderr': '...',
+ 'stdout': '...', 'clusterName': u'cc',
+ 'structuredOut': '{"var1":"test1", "var2":"test2"}',
+ 'roleCommand': u'INSTALL',
+ 'serviceName': u'HDFS',
+ 'role': u'DATANODE',
+ 'actionId': '1-1', 'taskId': 5, 'exitCode': 777}]
+ }
+ self.assertEquals(report, expected)