Repository: ambari Updated Branches: refs/heads/branch-2.4 e406be181 -> 53ccd696c
AMBARI-17967. Provide an option not to log ambari-agent command output for user custom script action (smohanty) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/53ccd696 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/53ccd696 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/53ccd696 Branch: refs/heads/branch-2.4 Commit: 53ccd696c90caeb116a76f620acd766be76d59ce Parents: e406be1 Author: Sumit Mohanty <[email protected]> Authored: Fri Aug 5 17:42:49 2016 -0700 Committer: Sumit Mohanty <[email protected]> Committed: Fri Aug 5 17:42:49 2016 -0700 ---------------------------------------------------------------------- ambari-agent/src/main/python/ambari_agent/ActionQueue.py | 4 ++-- .../server/controller/AmbariActionExecutionHelper.java | 9 ++++++++- .../server/controller/AmbariManagementControllerImpl.java | 2 +- .../internal/ClusterStackVersionResourceProvider.java | 2 +- .../internal/HostStackVersionResourceProvider.java | 2 +- .../server/controller/internal/UpgradeResourceProvider.java | 2 +- 6 files changed, 14 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-agent/src/main/python/ambari_agent/ActionQueue.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py index c8696ef..064e4f0 100644 --- a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py +++ b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py @@ -291,8 +291,8 @@ class ActionQueue(threading.Thread): if isAutoExecuteCommand: retryAble = False - logger.info("Command execution metadata - taskId = {taskId}, retry enabled = {retryAble}, max retry duration (sec) = {retryDuration}". - format(taskId=taskId, retryAble=retryAble, retryDuration=retryDuration)) + logger.info("Command execution metadata - taskId = {taskId}, retry enabled = {retryAble}, max retry duration (sec) = {retryDuration}, log_output = {log_command_output}". + format(taskId=taskId, retryAble=retryAble, retryDuration=retryDuration, log_command_output=log_command_output)) while retryDuration >= 0: numAttempts += 1 start = 0 http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java index 5cc807c..4fa942f 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java @@ -233,9 +233,11 @@ public class AmbariActionExecutionHelper { * * @param actionContext the context associated with the action * @param stage stage into which tasks must be inserted + * @param requestParams all request parameters (may be null) * @throws AmbariException if the task can not be added */ - public void addExecutionCommandsToStage(final ActionExecutionContext actionContext, Stage stage) + public void addExecutionCommandsToStage(final ActionExecutionContext actionContext, Stage stage, + Map<String, String> requestParams) throws AmbariException { String actionName = actionContext.getActionName(); @@ -393,6 +395,11 @@ public class AmbariActionExecutionHelper { commandParams.put(COMMAND_TIMEOUT, Integer.toString(taskTimeout)); } + if (requestParams != null && requestParams.containsKey(KeyNames.LOG_OUTPUT)) { + LOG.info("Should command log output?: " + requestParams.get(KeyNames.LOG_OUTPUT)); + commandParams.put(KeyNames.LOG_OUTPUT, requestParams.get(KeyNames.LOG_OUTPUT)); + } + commandParams.put(SCRIPT, actionName + ".py"); commandParams.put(SCRIPT_TYPE, TYPE_PYTHON); http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index aba45bf..1484953 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@ -3797,7 +3797,7 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle customCommandExecutionHelper.addExecutionCommandsToStage(actionExecContext, stage, requestProperties); } else { - actionExecutionHelper.addExecutionCommandsToStage(actionExecContext, stage); + actionExecutionHelper.addExecutionCommandsToStage(actionExecContext, stage, requestProperties); } RoleGraph rg; http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java index 301eb47..4e9fd6b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java @@ -509,7 +509,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou cluster, managementController, ami, stackId, serviceNames, perOsRepos, stage, host); if (null != actionContext) { try { - actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage); + actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage, null); hasStage = true; } catch (AmbariException e) { throw new SystemException("Cannot modify stage", e); http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java index 77fd886..b8d7381 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java @@ -452,7 +452,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource req.addStages(Collections.singletonList(stage)); try { - actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage); + actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage, null); } catch (AmbariException e) { throw new SystemException("Can not modify stage", e); } http://git-wip-us.apache.org/repos/asf/ambari/blob/53ccd696/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java index 255cbbb..205a03d 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java @@ -1413,7 +1413,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider stage.setStageId(stageId); entity.setStageId(Long.valueOf(stageId)); - s_actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage); + s_actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage, null); // need to set meaningful text on the command for (Map<String, HostRoleCommand> map : stage.getHostRoleCommands().values()) {
