Github user anandsubbu commented on a diff in the pull request:
https://github.com/apache/metron/pull/894#discussion_r161184707
--- Diff:
metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/ELASTICSEARCH/5.6.2/package/scripts/elastic_master.py
---
@@ -56,8 +59,28 @@ def status(self, env):
import params
env.set_params(params)
Logger.info('Check status of Elasticsearch master node')
- status_cmd = "service elasticsearch status"
- Execute(status_cmd)
+
+ # return codes defined by LSB
+ #
http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html
+ cmd = ('service', 'elasticsearch', 'status')
+
+ rc, out = shell.call(cmd, sudo=True, quiet=False)
+
+ if rc == 3:
--- End diff --
On my 12-node CentOS 7, when I hit 'Stop Services', Kibana service stop
still failed with the following error:
```
stderr: /var/lib/ambari-agent/data/errors-753.txt
Traceback (most recent call last):
File
"/var/lib/ambari-agent/cache/common-services/KIBANA/5.6.2/package/scripts/kibana_master.py",
line 153, in <module>
Kibana().execute()
File
"/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py",
line 332, in execute
self.execute_prefix_function(self.command_name, 'after', env)
File
"/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py",
line 350, in execute_prefix_function
method(env)
File
"/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py",
line 398, in after_stop
status_method(env)
File
"/var/lib/ambari-agent/cache/common-services/KIBANA/5.6.2/package/scripts/kibana_master.py",
line 118, in status
raise ExecutionFailed(err_msg, rc, out)
resource_management.core.exceptions.ExecutionFailed: Execution of 'service
kibana status' returned 2
stdout: /var/lib/ambari-agent/data/output-753.txt
2018-01-12 10:08:11,166 - Stop Kibana Master
2018-01-12 10:08:11,166 - Execute['service kibana stop'] {}
2018-01-12 10:08:12,251 - Waiting for actual component stop
2018-01-12 10:08:12,251 - Status of the Master
2018-01-12 10:08:12,251 - call[('service', 'kibana', 'status')] {'sudo':
True, 'quiet': False}
2018-01-12 10:08:12,285 - call returned (2, 'kibana is not running')
Command failed after 1 tries
```
This check only looks for exit status 3 alone.
I made a local chance to treat any non-zero exit status as
`ComponentIsNotRunning` and it worked fine.
---