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 2016/11/29 17:56:15 UTC
[08/55] [abbrv] ambari git commit: AMBARI-18960 - Dashboards
directory only needs to be sync'd for METRICS_GRAFANA
AMBARI-18960 - Dashboards directory only needs to be sync'd for METRICS_GRAFANA
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/48715331
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/48715331
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/48715331
Branch: refs/heads/branch-feature-AMBARI-18634
Commit: 48715331207b73978803aa666209b84c26224fde
Parents: 4a7cbcb
Author: Tim Thorpe <tt...@apache.org>
Authored: Tue Nov 22 08:56:34 2016 -0800
Committer: Tim Thorpe <tt...@apache.org>
Committed: Tue Nov 22 08:56:34 2016 -0800
----------------------------------------------------------------------
.../ambari_agent/CustomServiceOrchestrator.py | 4 +++-
.../TestCustomServiceOrchestrator.py | 21 ++++++++++++++++++++
2 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/48715331/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py b/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py
index fbc1509..b814334 100644
--- a/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py
+++ b/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py
@@ -58,6 +58,7 @@ class CustomServiceOrchestrator():
AMBARI_SERVER_HOST = "ambari_server_host"
AMBARI_SERVER_PORT = "ambari_server_port"
AMBARI_SERVER_USE_SSL = "ambari_server_use_ssl"
+ METRICS_GRAFANA = "METRICS_GRAFANA"
FREQUENT_COMMANDS = [COMMAND_NAME_SECURITY_STATUS, COMMAND_NAME_STATUS]
DONT_DEBUG_FAILURES_FOR_COMMANDS = FREQUENT_COMMANDS
@@ -153,7 +154,8 @@ class CustomServiceOrchestrator():
self.file_cache.get_host_scripts_base_dir(server_url_prefix)
hook_dir = self.file_cache.get_hook_base_dir(command, server_url_prefix)
base_dir = self.file_cache.get_service_base_dir(command, server_url_prefix)
- self.file_cache.get_dashboard_base_dir(server_url_prefix)
+ if command['role'] == self.METRICS_GRAFANA:
+ self.file_cache.get_dashboard_base_dir(server_url_prefix)
script_path = self.resolve_script_path(base_dir, script)
script_tuple = (script_path, base_dir)
http://git-wip-us.apache.org/repos/asf/ambari/blob/48715331/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py b/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py
index 9f1241e..d0d6ac4 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py
@@ -277,6 +277,8 @@ class TestCustomServiceOrchestrator(TestCase):
self.assertEqual(ret['exitcode'], 0)
self.assertTrue(run_file_mock.called)
self.assertEqual(run_file_mock.call_count, 3)
+ # Should only be called for METRICS_GRAFANA
+ self.assertFalse(get_dashboard_base_dir_mock.called)
run_file_mock.reset_mock()
@@ -299,6 +301,25 @@ class TestCustomServiceOrchestrator(TestCase):
run_file_mock.reset_mock()
+ # For role=METRICS_GRAFANA, dashboards should be sync'd
+ command['role'] = 'METRICS_GRAFANA'
+ get_dashboard_base_dir_mock.reset_mock()
+ get_dashboard_base_dir_mock.return_value = "/dashboards/"
+
+ run_file_mock.return_value = {
+ 'stdout' : 'sss',
+ 'stderr' : 'eee',
+ 'exitcode': 0,
+ }
+ ret = orchestrator.runCommand(command, "out.txt", "err.txt")
+ self.assertEqual(ret['exitcode'], 0)
+ self.assertTrue(run_file_mock.called)
+ self.assertEqual(run_file_mock.call_count, 3)
+ self.assertTrue(get_dashboard_base_dir_mock.called)
+
+ command['role'] = 'REGION_SERVER'
+ run_file_mock.reset_mock()
+
# unknown script type case
command['commandParams']['script_type'] = "SOME_TYPE"
ret = orchestrator.runCommand(command, "out.txt", "err.txt")