You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2016/10/12 17:13:22 UTC
ambari git commit: AMBARI-18579. Grafana fails to start after
deployment (aonishuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 82afd3a0f -> 5d007e248
AMBARI-18579. Grafana fails to start after deployment (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5d007e24
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5d007e24
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5d007e24
Branch: refs/heads/trunk
Commit: 5d007e248e24e02d4d8c5c818a1125830370936c
Parents: 82afd3a
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Wed Oct 12 20:12:27 2016 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Wed Oct 12 20:13:13 2016 +0300
----------------------------------------------------------------------
.../AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py | 6 ++++--
.../AMBARI_METRICS/0.1.0/package/scripts/params_linux.py | 6 ++++++
.../stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py | 5 +++--
.../python/stacks/2.0.6/configs/default_ams_embedded.json | 9 +++++++--
4 files changed, 20 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/5d007e24/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py
index 542663f..606f119 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_grafana.py
@@ -43,7 +43,8 @@ class AmsGrafana(Script):
start_cmd = format("{ams_grafana_script} start")
Execute(start_cmd,
- user=params.ams_user
+ user=params.ams_user,
+ not_if = params.grafana_process_exists_cmd,
)
# Create datasource
create_ams_datasource()
@@ -55,7 +56,8 @@ class AmsGrafana(Script):
env.set_params(params)
self.configure(env, action = 'stop')
Execute((format("{ams_grafana_script}"), 'stop'),
- sudo=True
+ sudo=True,
+ only_if = params.grafana_process_exists_cmd,
)
def status(self, env):
http://git-wip-us.apache.org/repos/asf/ambari/blob/5d007e24/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_linux.py
index 58c7c1d..da399f7 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_linux.py
@@ -22,6 +22,7 @@ from resource_management.libraries.script.script import Script
from resource_management.libraries.functions import conf_select
from resource_management.libraries.functions.default import default
from resource_management.libraries.functions.format import format
+from resource_management.core.shell import as_user
from ambari_commons import OSCheck
from ambari_commons.constants import AMBARI_SUDO_BINARY
from resource_management.libraries.functions.expect import expect
@@ -34,6 +35,8 @@ ams_user = config['configurations']['ams-env']['ambari_metrics_user']
#RPM versioning support
rpm_version = default("/configurations/hadoop-env/rpm_version", None)
+ams_grafana_pid_dir = config['configurations']['ams-grafana-env']['metrics_grafana_pid_dir']
+
#hadoop params
if rpm_version is not None:
#RPM versioning support
@@ -56,3 +59,6 @@ dfs_type = default("/commandParams/dfs_type", "")
hbase_regionserver_shutdown_timeout = expect('/configurations/ams-hbase-env/hbase_regionserver_shutdown_timeout', int,
30)
+
+grafana_pid_file = format("{ams_grafana_pid_dir}/grafana-server.pid")
+grafana_process_exists_cmd = as_user(format("test -f {grafana_pid_file} && ps -p `cat {grafana_pid_file}`"), ams_user)
http://git-wip-us.apache.org/repos/asf/ambari/blob/5d007e24/ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py b/ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py
index 2e24d82..9ac14c4 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_grafana.py
@@ -70,8 +70,9 @@ class TestMetricsGrafana(RMFTestCase):
self.assertResourceCalled('Execute', 'ambari-sudo.sh rm -rf /some_tmp_dir',
)
self.assertResourceCalled('Execute', '/usr/sbin/ambari-metrics-grafana start',
- user = 'ams'
- )
+ not_if = "ambari-sudo.sh su ams -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]test -f /var/run/ambari-metrics-grafana/grafana-server.pid && ps -p `cat /var/run/ambari-metrics-grafana/grafana-server.pid`'",
+ user = 'ams',
+ )
create_ams_datasource_mock.assertCalled()
create_ams_dashboards_mock.assertCalled()
self.assertNoMoreResources()
http://git-wip-us.apache.org/repos/asf/ambari/blob/5d007e24/ambari-server/src/test/python/stacks/2.0.6/configs/default_ams_embedded.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/configs/default_ams_embedded.json b/ambari-server/src/test/python/stacks/2.0.6/configs/default_ams_embedded.json
index 13dce2b..71423c8 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/configs/default_ams_embedded.json
+++ b/ambari-server/src/test/python/stacks/2.0.6/configs/default_ams_embedded.json
@@ -42,8 +42,13 @@
"taskId": 152,
"public_hostname": "c6401.ambari.apache.org",
"configurations": {
- "ams-grafana-env" : {
- "metrics_grafana_pid_dir" : "/var/run/ambari-metrics-monitor"
+ "ams-grafana-env": {
+ "metrics_grafana_username": "admin",
+ "metrics_grafana_pid_dir": "/var/run/ambari-metrics-grafana",
+ "metrics_grafana_data_dir": "/var/lib/ambari-metrics-grafana",
+ "content": "\n# Set environment variables here.\n\n# AMS UI Server Home Dir\nexport AMS_GRAFANA_HOME_DIR={{ams_grafana_home_dir}}\n\n# AMS UI Server Data Dir\nexport AMS_GRAFANA_DATA_DIR={{ams_grafana_data_dir}}\n\n# AMS UI Server Log Dir\nexport AMS_GRAFANA_LOG_DIR={{ams_grafana_log_dir}}\n\n# AMS UI Server PID Dir\nexport AMS_GRAFANA_PID_DIR={{ams_grafana_pid_dir}}",
+ "metrics_grafana_password": "admin",
+ "metrics_grafana_log_dir": "/var/log/ambari-metrics-grafana"
},
"mapred-site": {
"mapreduce.jobhistory.address": "c6402.ambari.apache.org:10020",