Repository: ambari Updated Branches: refs/heads/branch-2.2 1dfedc5be -> 03b986491
AMBARI-16042. Add ability to log .out files into the agent log (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/03b98649 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/03b98649 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/03b98649 Branch: refs/heads/branch-2.2 Commit: 03b986491246d33803e4a037f9d9ee078f41bca8 Parents: 1dfedc5 Author: Andrew Onishuk <[email protected]> Authored: Mon Apr 25 08:32:00 2016 +0300 Committer: Andrew Onishuk <[email protected]> Committed: Mon Apr 25 08:32:00 2016 +0300 ---------------------------------------------------------------------- .../ambari_agent/CustomServiceOrchestrator.py | 4 +- .../TestCustomServiceOrchestrator.py | 6 ++- .../libraries/functions/show_logs.py | 39 +++++++++++++++++ .../libraries/script/script.py | 44 ++++++++++++++++++-- .../package/scripts/accumulo_script.py | 7 ++++ .../0.1.0/package/scripts/metrics_collector.py | 8 ++++ .../0.1.0/package/scripts/metrics_monitor.py | 8 ++++ .../package/scripts/metadata_server.py | 8 ++++ .../0.5.0.2.1/package/scripts/falcon_server.py | 8 ++++ .../1.4.0.2.0/package/scripts/flume_handler.py | 8 ++++ .../0.96.0.2.0/package/scripts/hbase_master.py | 9 +++- .../package/scripts/hbase_regionserver.py | 7 ++++ .../package/scripts/phoenix_queryserver.py | 8 ++++ .../HDFS/2.1.0.2.0/package/scripts/datanode.py | 8 ++++ .../2.1.0.2.0/package/scripts/journalnode.py | 8 ++++ .../HDFS/2.1.0.2.0/package/scripts/namenode.py | 8 ++++ .../2.1.0.2.0/package/scripts/nfsgateway.py | 8 ++++ .../2.1.0.2.0/package/scripts/params_linux.py | 1 + .../HDFS/2.1.0.2.0/package/scripts/snamenode.py | 8 ++++ .../2.1.0.2.0/package/scripts/zkfc_slave.py | 8 ++++ .../package/scripts/hive_metastore.py | 8 ++++ .../0.12.0.2.0/package/scripts/hive_server.py | 7 ++++ .../package/scripts/webhcat_server.py | 7 ++++ .../0.8.1.2.2/package/scripts/kafka_broker.py | 8 ++++ .../0.5.0.2.2/package/scripts/knox_gateway.py | 8 ++++ .../4.0.0.2.0/package/scripts/oozie_server.py | 8 ++++ .../0.4.0/package/scripts/ranger_admin.py | 8 ++++ .../0.4.0/package/scripts/ranger_usersync.py | 7 ++++ .../0.5.0.2.3/package/scripts/kms_server.py | 8 ++++ .../package/scripts/job_history_server.py | 8 ++++ .../package/scripts/spark_thrift_server.py | 8 ++++ .../0.9.1.2.1/package/scripts/drpc_server.py | 8 ++++ .../STORM/0.9.1.2.1/package/scripts/nimbus.py | 7 ++++ .../0.9.1.2.1/package/scripts/nimbus_prod.py | 8 ++++ .../STORM/0.9.1.2.1/package/scripts/rest_api.py | 8 ++++ .../0.9.1.2.1/package/scripts/supervisor.py | 7 ++++ .../package/scripts/supervisor_prod.py | 8 ++++ .../0.9.1.2.1/package/scripts/ui_server.py | 8 ++++ .../scripts/application_timeline_server.py | 7 ++++ .../2.1.0.2.0/package/scripts/historyserver.py | 7 ++++ .../2.1.0.2.0/package/scripts/nodemanager.py | 7 ++++ .../package/scripts/resourcemanager.py | 8 ++++ .../package/scripts/zookeeper_server.py | 8 ++++ .../src/test/python/stacks/utils/RMFTestCase.py | 4 +- 44 files changed, 385 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/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 9ad520f..fb5f78e 100644 --- a/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py +++ b/ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py @@ -183,11 +183,13 @@ class CustomServiceOrchestrator(): from ActionQueue import ActionQueue if command.has_key('commandType') and command['commandType'] == ActionQueue.BACKGROUND_EXECUTION_COMMAND and len(filtered_py_file_list) > 1: raise AgentException("Background commands are supported without hooks only") + + log_out_files = self.config.get("logging","log_out_files", default="0") != "0" python_executor = self.get_py_executor(forced_command_name) for py_file, current_base_dir in filtered_py_file_list: log_info_on_failure = not command_name in self.DONT_DEBUG_FAILURES_FOR_COMMANDS - script_params = [command_name, json_path, current_base_dir, tmpstrucoutfile, logger_level, self.exec_tmp_dir] + script_params = [command_name, json_path, current_base_dir, tmpstrucoutfile, logger_level, self.exec_tmp_dir, str(log_out_files)] ret = python_executor.run_file(py_file, script_params, tmpoutfile, tmperrfile, timeout, tmpstrucoutfile, self.map_task_to_process, http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/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 60cab9f..2b314b3 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py +++ b/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py @@ -51,6 +51,7 @@ else: class TestCustomServiceOrchestrator(TestCase): + def setUp(self): # disable stdout out = StringIO.StringIO() @@ -59,6 +60,7 @@ class TestCustomServiceOrchestrator(TestCase): tmpdir = tempfile.gettempdir() exec_tmp_dir = os.path.join(tmpdir, 'tmp') self.config = ConfigParser.RawConfigParser() + self.config.get = AmbariConfig().get self.config.add_section('agent') self.config.set('agent', 'prefix', tmpdir) self.config.set('agent', 'cache_dir', "/cachedir") @@ -462,13 +464,15 @@ class TestCustomServiceOrchestrator(TestCase): self.assertEqual(runningCommand['status'], ActionQueue.FAILED_STATUS) + @patch.object(AmbariConfig, "get") @patch.object(CustomServiceOrchestrator, "dump_command_to_json") @patch.object(PythonExecutor, "run_file") @patch.object(FileCache, "__init__") @patch.object(FileCache, "get_custom_actions_base_dir") def test_runCommand_custom_action(self, get_custom_actions_base_dir_mock, FileCache_mock, - run_file_mock, dump_command_to_json_mock): + run_file_mock, dump_command_to_json_mock, ambari_config_get): + ambari_config_get.return_value = "0" FileCache_mock.return_value = None get_custom_actions_base_dir_mock.return_value = "some path" _, script = tempfile.mkstemp() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-common/src/main/python/resource_management/libraries/functions/show_logs.py ---------------------------------------------------------------------- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/show_logs.py b/ambari-common/src/main/python/resource_management/libraries/functions/show_logs.py new file mode 100644 index 0000000..8a0d5b9 --- /dev/null +++ b/ambari-common/src/main/python/resource_management/libraries/functions/show_logs.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" +__all__ = ["show_logs"] + +from resource_management.core.resources.system import Execute +from resource_management.libraries.functions.format import format + +LAST_LINES_DEFAULT_OUTPUT_COUNT = 40 + +def show_logs(log_dir, user, lines_count=LAST_LINES_DEFAULT_OUTPUT_COUNT, mask="*"): + """ + This should be used in 'except' block of start or stop Execute of services or of command which checks if start was fine. + It allows to give additional debugging information without need to have access to log files. + + Don't forget to call "raise" after using the function or else the original exception will be masked. + """ + + Execute(format("find {log_dir} -maxdepth 1 -type f -name '{mask}' -exec echo '==> {{}} <==' \; -exec tail -n {lines_count} {{}} \;"), + logoutput = True, + ignore_failures = True, # if this fails should not overwrite the actual exception + user = user, # need to have permissions to read log files + ) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-common/src/main/python/resource_management/libraries/script/script.py ---------------------------------------------------------------------- diff --git a/ambari-common/src/main/python/resource_management/libraries/script/script.py b/ambari-common/src/main/python/resource_management/libraries/script/script.py index bd0e213..5c06d5e 100644 --- a/ambari-common/src/main/python/resource_management/libraries/script/script.py +++ b/ambari-common/src/main/python/resource_management/libraries/script/script.py @@ -45,6 +45,7 @@ from resource_management.libraries.functions.version import format_hdp_stack_ver from resource_management.libraries.functions.constants import Direction from resource_management.libraries.script.config_dictionary import ConfigDictionary, UnknownConfiguration from resource_management.core.resources.system import Execute +from resource_management.libraries.functions.show_logs import show_logs from contextlib import closing import ambari_simplejson as json # simplejson is much faster comparing to Python 2.6 json module and has the same functions set. @@ -57,7 +58,7 @@ if OSCheck.is_windows_family(): else: from resource_management.libraries.functions.tar_archive import archive_dir -USAGE = """Usage: {0} <COMMAND> <JSON_CONFIG> <BASEDIR> <STROUTPUT> <LOGGING_LEVEL> <TMP_DIR> +USAGE = """Usage: {0} <COMMAND> <JSON_CONFIG> <BASEDIR> <STROUTPUT> <LOGGING_LEVEL> <TMP_DIR> <LOG_OUT_FILES> <COMMAND> command type (INSTALL/CONFIGURE/START/STOP/SERVICE_CHECK...) <JSON_CONFIG> path to command json file. Ex: /var/lib/ambari-agent/data/command-2.json @@ -65,9 +66,13 @@ USAGE = """Usage: {0} <COMMAND> <JSON_CONFIG> <BASEDIR> <STROUTPUT> <LOGGING_LEV <STROUTPUT> path to file with structured command output (file will be created). Ex:/tmp/my.txt <LOGGING_LEVEL> log level for stdout. Ex:DEBUG,INFO <TMP_DIR> temporary directory for executable scripts. Ex: /var/lib/ambari-agent/tmp +<LOG_OUT_FILES> before start is done, should the service *.out files content be logged. Ex: false """ _PASSWORD_MAP = {"/configurations/cluster-env/hadoop.user.name":"/configurations/cluster-env/hadoop.user.password"} +COUNT_OF_LAST_LINES_OF_OUT_FILES_LOGGED = 100 +OUT_FILES_MASK = "*.out" +AGENT_TASKS_LOG_FILE = "/var/log/ambari-agent/agent_tasks.log" def get_path_from_configuration(name, configuration): subdicts = filter(None, name.split('/')) @@ -175,8 +180,8 @@ class Script(object): Parses command parameters and executes method relevant to command type """ # parse arguments - if len(sys.argv) < 7: - print "Script expects at least 6 arguments" + if len(sys.argv) < 8: + print "Script expects at least 7 arguments" print USAGE.format(os.path.basename(sys.argv[0])) # print to stdout sys.exit(1) @@ -187,7 +192,8 @@ class Script(object): self.load_structured_out() self.logging_level = sys.argv[5] Script.tmp_dir = sys.argv[6] - + self.log_out_files = sys.argv[7].lower() == "true" + logging_level_str = logging._levelNames[self.logging_level] Logger.initialize_logger(__name__, logging_level=logging_level_str) @@ -216,10 +222,39 @@ class Script(object): method = self.choose_method_to_execute(self.command_name) with Environment(self.basedir, tmp_dir=Script.tmp_dir) as env: env.config.download_path = Script.tmp_dir + + if self.command_name == "start" and not self.is_hook(): + self.pre_start() + method(env) finally: if self.should_expose_component_version(self.command_name): self.save_component_version_to_structured_out() + + def is_hook(self): + from resource_management.libraries.script.hook import Hook + return (Hook in self.__class__.__bases__) + + def get_log_folder(self): + return "" + + def get_user(self): + return "" + + def pre_start(self): + if self.log_out_files: + log_folder = self.get_log_folder() + user = self.get_user() + + if log_folder == "": + Logger.logger.warn("Log folder for current script is not defined") + return + + if user == "": + Logger.logger.warn("User for current script is not defined") + return + + show_logs(log_folder, user, lines_count=COUNT_OF_LAST_LINES_OF_OUT_FILES_LOGGED, mask=OUT_FILES_MASK) def choose_method_to_execute(self, command_name): """ @@ -526,6 +561,7 @@ class Script(object): # To remain backward compatible with older stacks, only pass upgrade_type if available. # TODO, remove checking the argspec for "upgrade_type" once all of the services support that optional param. + self.pre_start() if "upgrade_type" in inspect.getargspec(self.start).args: self.start(env, upgrade_type=upgrade_type) else: http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py index eda333d..7c3138c 100644 --- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py +++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py @@ -167,7 +167,14 @@ class AccumuloScript(Script): issues.append("Configuration file %s did not pass the validation. Reason: %s" % (cf, result_issues[cf])) self.put_structured_out({"securityIssuesFound": ". ".join(issues)}) self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.log_dir + def get_user(self): + import params + return params.accumulo_user if __name__ == "__main__": AccumuloScript().fail_with_error('component unspecified') http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py index ddefed7..759d030 100644 --- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py +++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py @@ -57,6 +57,14 @@ class AmsCollector(Script): import status_params env.set_params(status_params) check_service_status(name='collector') + + def get_log_folder(self): + import params + return params.ams_collector_log_dir + + def get_user(self): + import params + return params.ams_user @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT) http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_monitor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_monitor.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_monitor.py index f392984..882e2b3 100644 --- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_monitor.py +++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_monitor.py @@ -52,6 +52,14 @@ class AmsMonitor(Script): import status_params env.set_params(status_params) check_service_status(name='monitor') + + def get_log_folder(self): + import params + return params.ams_monitor_log_dir + + def get_user(self): + import params + return params.ams_user if __name__ == "__main__": http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata_server.py b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata_server.py index f0b793a..6b297bd 100644 --- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata_server.py +++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata_server.py @@ -127,6 +127,14 @@ class MetadataServer(Script): issues.append("Configuration file %s did not pass the validation. Reason: %s" % (cf, result_issues[cf])) self.put_structured_out({"securityIssuesFound": ". ".join(issues)}) self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.metadata_user if __name__ == "__main__": MetadataServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py index 13401dc..8c4aa52 100644 --- a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py +++ b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py @@ -144,6 +144,14 @@ class FalconServerLinux(FalconServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.falcon_log_dir + + def get_user(self): + import params + return params.falcon_user + @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class FalconServerWindows(FalconServer): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume_handler.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume_handler.py b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume_handler.py index 937547c..0e1858e 100644 --- a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume_handler.py +++ b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume_handler.py @@ -99,6 +99,14 @@ class FlumeHandlerLinux(FlumeHandler): # only restore on upgrade, not downgrade if params.upgrade_direction == Direction.UPGRADE: flume_upgrade.pre_start_restore() + + def get_log_folder(self): + import params + return params.flume_log_dir + + def get_user(self): + import params + return None # means that is run from the same user as ambari is run @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class FlumeHandlerWindows(FlumeHandler): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py index fdd8f5a..e4d2bef 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py @@ -143,7 +143,14 @@ class HbaseMasterDefault(HbaseMaster): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) - + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.hbase_user if __name__ == "__main__": HbaseMaster().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_regionserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_regionserver.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_regionserver.py index ecab844..5d3c0b5 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_regionserver.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_regionserver.py @@ -152,6 +152,13 @@ class HbaseRegionServerDefault(HbaseRegionServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.hbase_user if __name__ == "__main__": HbaseRegionServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py index e894f95..d6c24e6 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/phoenix_queryserver.py @@ -72,6 +72,14 @@ class PhoenixQueryServer(Script): def security_status(self, env): self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.hbase_user if __name__ == "__main__": PhoenixQueryServer().execute() \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py index 1d242e1..6f08fea 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py @@ -156,6 +156,14 @@ class DataNodeDefault(DataNode): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class DataNodeWindows(DataNode): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py index 2ef1b69..9db7681 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py @@ -159,6 +159,14 @@ class JournalNodeDefault(JournalNode): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class JournalNodeWindows(JournalNode): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py index 37c81f8..a4e08d1 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py @@ -349,6 +349,14 @@ class NameNodeDefault(NameNode): File(ccache_file_path, action = "delete", ) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class NameNodeWindows(NameNode): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/nfsgateway.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/nfsgateway.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/nfsgateway.py index df5569e..afec17d 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/nfsgateway.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/nfsgateway.py @@ -133,6 +133,14 @@ class NFSGateway(Script): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user if __name__ == "__main__": NFSGateway().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py index af619ac..86730c8 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py @@ -209,6 +209,7 @@ proxyuser_group = config['configurations']['hadoop-env']['proxyuser_group'] #hadoop params hdfs_log_dir_prefix = config['configurations']['hadoop-env']['hdfs_log_dir_prefix'] +hdfs_log_dir = format('{hdfs_log_dir_prefix}/{hdfs_user}') hadoop_root_logger = config['configurations']['hadoop-env']['hadoop_root_logger'] nfs_file_dump_dir = config['configurations']['hdfs-site']['nfs.file.dump.dir'] http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/snamenode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/snamenode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/snamenode.py index 1748955..36b71ca 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/snamenode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/snamenode.py @@ -134,6 +134,14 @@ class SNameNodeDefault(SNameNode): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class SNameNodeWindows(SNameNode): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py index 148e605..7deaeee 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py @@ -133,6 +133,14 @@ class ZkfcSlaveDefault(ZkfcSlave): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.hdfs_log_dir + + def get_user(self): + import params + return params.hdfs_user def initialize_ha_zookeeper(params): try: http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py index e347e25..c056550 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py @@ -239,6 +239,14 @@ class HiveMetastoreDefault(HiveMetastore): command = format("{binary} -dbType {hive_metastore_db_type} -upgradeSchema") Execute(command, user=params.hive_user, tries=1, environment=env_dict, logoutput=True) + + def get_log_folder(self): + import params + return params.hive_log_dir + + def get_user(self): + import params + return params.hive_user if __name__ == "__main__": http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py index 96c05ca..bb80dbb 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py @@ -198,6 +198,13 @@ class HiveServerDefault(HiveServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.hive_log_dir + + def get_user(self): + import params + return params.hive_user if __name__ == "__main__": HiveServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py index f0f31a8..ebe93c3 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py @@ -150,6 +150,13 @@ class WebHCatServerDefault(WebHCatServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.hcat_log_dir + + def get_user(self): + import params + return params.webhcat_user if __name__ == "__main__": WebHCatServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py index 3f650bd..c215751 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py @@ -103,6 +103,14 @@ class KafkaBroker(Script): import status_params env.set_params(status_params) check_process_status(status_params.kafka_pid_file) + + def get_log_folder(self): + import params + return params.kafka_log_dir + + def get_user(self): + import params + return params.kafka_user if __name__ == "__main__": KafkaBroker().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py index 4285c6e..dc60fb8 100644 --- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py +++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py @@ -268,6 +268,14 @@ class KnoxGatewayDefault(KnoxGateway): self.put_structured_out({"securityState": "UNSECURED"}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.knox_logs_dir + + def get_user(self): + import params + return params.knox_user if __name__ == "__main__": http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py index b87e453..db1444d 100644 --- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py +++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py @@ -200,6 +200,14 @@ class OozieServerDefault(OozieServer): OozieUpgrade.restore_configuration() OozieUpgrade.prepare_libext_directory() + + def get_log_folder(self): + import params + return params.oozie_log_dir + + def get_user(self): + import params + return params.oozie_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py index f145ac5..809cbb2 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py @@ -151,6 +151,14 @@ class RangerAdmin(Script): from setup_ranger_xml import setup_java_patch setup_java_patch(stack_version=stack_version) + def get_log_folder(self): + import params + return params.admin_log_dir + + def get_user(self): + import params + return params.unix_user + if __name__ == "__main__": RangerAdmin().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py index 51e5eab..43b70f8 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py @@ -73,6 +73,13 @@ class RangerUsersync(Script): def get_stack_to_component(self): return {"HDP": "ranger-usersync"} + def get_log_folder(self): + import params + return params.usersync_log_dir + + def get_user(self): + import params + return params.unix_user if __name__ == "__main__": RangerUsersync().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py index 9450184..9adce9b 100755 --- a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py +++ b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py @@ -89,6 +89,14 @@ class KmsServer(Script): stack_version = upgrade_stack[1] Logger.info(format('Setting Ranger KMS database schema, using version {stack_version}')) setup_kms_db(stack_version=stack_version) + + def get_log_folder(self): + import params + return params.kms_log_dir + + def get_user(self): + import params + return params.kms_user if __name__ == "__main__": KmsServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py index 24b86e3..7c94656 100644 --- a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py +++ b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py @@ -90,6 +90,14 @@ class JobHistoryServer(Script): host_sys_prepped=params.host_sys_prepped) if resource_created: params.HdfsResource(None, action="execute") + + def get_log_folder(self): + import params + return params.spark_log_dir + + def get_user(self): + import params + return params.spark_user if __name__ == "__main__": JobHistoryServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_thrift_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_thrift_server.py b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_thrift_server.py index 86b4010..70a4c39 100644 --- a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_thrift_server.py +++ b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_thrift_server.py @@ -74,6 +74,14 @@ class SparkThriftServer(Script): Logger.info("Executing Spark Thrift Server Stack Upgrade pre-restart") conf_select.select(params.stack_name, "spark", params.version) hdp_select.select("spark-thriftserver", params.version) + + def get_log_folder(self): + import params + return params.spark_log_dir + + def get_user(self): + import params + return params.hive_user if __name__ == "__main__": SparkThriftServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py index 7dfa0b9..1f03796 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py @@ -125,6 +125,14 @@ class DrpcServer(Script): self.put_structured_out({"securityStateErrorInfo": str(e)}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user if __name__ == "__main__": DrpcServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py index 5bad428..bff956b 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py @@ -126,6 +126,13 @@ class NimbusDefault(Nimbus): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) class NimbusWindows(Nimbus): http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py index 75125dd..b80ccce 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py @@ -67,6 +67,14 @@ class Nimbus(Script): def status(self, env): supervisord_check_status("nimbus") + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user if __name__ == "__main__": Nimbus().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py index eb81301..1377ed0 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py @@ -70,5 +70,13 @@ class StormRestApi(Script): env.set_params(status_params) check_process_status(status_params.pid_rest_api) + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user + if __name__ == "__main__": StormRestApi().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py index 33f06b1..dd64f36 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py @@ -99,6 +99,13 @@ class SupervisorDefault(Supervisor): env.set_params(status_params) check_process_status(status_params.pid_supervisor) + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user if __name__ == "__main__": Supervisor().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py index 3efb9f4..6e2b5ec 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py @@ -70,6 +70,14 @@ class Supervisor(Script): def status(self, env): supervisord_check_status("supervisor") + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user if __name__ == "__main__": Supervisor().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py index 3053b05..65cec3e 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py @@ -166,6 +166,14 @@ class UiServerDefault(UiServer): self.put_structured_out({"securityStateErrorInfo": str(e)}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.log_dir + + def get_user(self): + import params + return params.storm_user if __name__ == "__main__": UiServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py index 7644225..cf5c2da 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py @@ -142,6 +142,13 @@ class ApplicationTimelineServerDefault(ApplicationTimelineServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.yarn_log_dir + + def get_user(self): + import params + return params.yarn_user if __name__ == "__main__": ApplicationTimelineServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py index 5d95c5c..3aa2764 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py @@ -177,6 +177,13 @@ class HistoryServerDefault(HistoryServer): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.mapred_log_dir + + def get_user(self): + import params + return params.mapred_user if __name__ == "__main__": HistoryServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py index d508d55..46b5247 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py @@ -148,6 +148,13 @@ class NodemanagerDefault(Nodemanager): else: self.put_structured_out({"securityState": "UNSECURED"}) + def get_log_folder(self): + import params + return params.yarn_log_dir + + def get_user(self): + import params + return params.yarn_user if __name__ == "__main__": Nodemanager().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py index d40abff..7f5f725 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py @@ -274,5 +274,13 @@ class ResourcemanagerDefault(Resourcemanager): else: Logger.info("DFS directory '" + dir_path + "' exists.") + def get_log_folder(self): + import params + return params.yarn_log_dir + + def get_user(self): + import params + return params.yarn_user + if __name__ == "__main__": Resourcemanager().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py index 842deb0..02b6472 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py @@ -159,6 +159,14 @@ class ZookeeperServerLinux(ZookeeperServer): self.put_structured_out({"securityStateErrorInfo": str(e)}) else: self.put_structured_out({"securityState": "UNSECURED"}) + + def get_log_folder(self): + import params + return params.zk_log_dir + + def get_user(self): + import params + return params.zk_user @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) http://git-wip-us.apache.org/repos/asf/ambari/blob/03b98649/ambari-server/src/test/python/stacks/utils/RMFTestCase.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/utils/RMFTestCase.py b/ambari-server/src/test/python/stacks/utils/RMFTestCase.py index ca32649..75ad3ca 100644 --- a/ambari-server/src/test/python/stacks/utils/RMFTestCase.py +++ b/ambari-server/src/test/python/stacks/utils/RMFTestCase.py @@ -70,7 +70,8 @@ class RMFTestCase(TestCase): target=TARGET_STACKS, mocks_dict={}, try_install=False, - command_args=[]): + command_args=[], + log_out_files=False): norm_path = os.path.normpath(path) src_dir = RMFTestCase.get_src_folder() if target == self.TARGET_STACKS: @@ -114,6 +115,7 @@ class RMFTestCase(TestCase): with patch.object(platform, 'linux_distribution', return_value=os_type): script_module = imp.load_source(classname, script_path) script_class_inst = RMFTestCase._get_attr(script_module, classname)() + script_class_inst.log_out_files = log_out_files method = RMFTestCase._get_attr(script_class_inst, command) except IOError, err: raise RuntimeError("Cannot load class %s from %s: %s" % (classname, norm_path, err.message))
