-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45333/
-----------------------------------------------------------
Review request for Ambari and Dmitro Lisnichenko.
Bugs: AMBARI-14926
https://issues.apache.org/jira/browse/AMBARI-14926
Repository: ambari
Description
-------
On systems with datanode and journal node monitored by ambari-agent,
if in the standard python path the hdfs lib is installed (
<https://pypi.python.org/pypi/hdfs/> ) it makes datanode + journalnode
monitoring fail:
* datanodes are seen up in global live datanodes
* but the service is down into the host service list (restart will work, but
are marked as stopped)
looking into the logs I get:
DEBUG 2016-02-04 16:54:49,160 PythonReflectiveExecutor.py:47 - Running
command reflectively ['/usr/bin/python2',
u'/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py',
'SECURITY_STATUS',
--
'/var/lib/ambari-agent/tmp']
DEBUG 2016-02-04 16:54:49,170 PythonReflectiveExecutor.py:61 - Reflective
command failed with exception:
Traceback (most recent call last):
File
"/usr/lib/python2.6/site-packages/ambari_agent/PythonReflectiveExecutor.py",
line 55, in run_file
imp.load_source('__main__', script)
File
"/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py",
line 30, in <module>
from utils import service
File
"/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/utils.py",
line 37, in <module>
from zkfc_slave import ZkfcSlave
File
"/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py",
line 21, in <module>
from hdfs import hdfs
ImportError: cannot import name hdfs
I think that ambari is including its cache files after the python path, so if
an hdfs module is present into python path makes the scripts goes crazy.
(basically using the system hdfs py module and not his own)
maybe cache files path must be included before the python path or imported
with local imports?
Diffs
-----
ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py 3808b3f
Diff: https://reviews.apache.org/r/45333/diff/
Testing
-------
mvn clean test
Thanks,
Andrew Onischuk