-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/62787/
-----------------------------------------------------------
Review request for Ambari, Jonathan Hurley and Tim Thorpe.
Bugs: AMBARI-22136
https://issues.apache.org/jira/browse/AMBARI-22136
Repository: ambari
Description
-------
xsi:type="server_action" tasks defined in EU/RU upgrade pack xml files
currently can only take impClass name, message, scope and summary as
parameters. Since no custom parameters can pass in, each server_action is
basically a special case where all stack/service information must be hardcoded
in the Java logic.
This JIRA proposes a way to pass in custom parameters as shown below (multiple
"parameter" elements). This will allow developers to create general cased
server_action that behaves accordingly to parameters passed in.
<task xsi:type="server_action"
class="org.apache.ambari.server.serveraction.upgrades.VerifyExtensionLinkAction">
<parameter name='a'>a</parameter>
<parameter name='b'>b</parameter>
<parameter name='target_stack'>MyStack</parameter>
<parameter name='target_stack_version'>1.2</parameter>
</task>
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java
f466ce9
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
33ce25e
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteHostType.java
aa6430a
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java
c593c04
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/TaskParameter.java
PRE-CREATION
ambari-server/src/main/resources/upgrade-pack.xsd 21606bd
Diff: https://reviews.apache.org/r/62787/diff/1/
Testing
-------
Manual test on HDP upgrade from Ambari 2.5.2 to trunk (3.0.0.0)
Updated HDP 2.6.2 express ugprade pack xml with parameter sections for
server_action tasks and verify the parameters were available in the action class
<group xsi:type="update-stack" name="UPDATE_DESIRED_REPOSITORY_ID"
title="Update Target Repositories">
<execute-stage title="Update Target Repositories">
<task xsi:type="server_action"
class="org.apache.ambari.server.serveraction.upgrades.UpdateDesiredRepositoryAction"
>
+ <parameter name='a'>a</parameter>
+ <parameter name='b'>b</parameter>
+ <parameter name='c'>c</parameter>
</task>
</execute-stage>
04 Oct 2017 11:32:18,589 INFO [Server Action Executor Worker 54]
UpdateDesiredRepositoryAction:82 - BEGIN - Map<String, String>
commandParameters = getCommandParameters();
04 Oct 2017 11:32:18,590 INFO [Server Action Executor Worker 54]
UpdateDesiredRepositoryAction:84 - a: a
04 Oct 2017 11:32:18,590 INFO [Server Action Executor Worker 54]
UpdateDesiredRepositoryAction:84 - b: b
04 Oct 2017 11:32:18,590 INFO [Server Action Executor Worker 54]
UpdateDesiredRepositoryAction:84 - c: c
04 Oct 2017 11:32:18,590 INFO [Server Action Executor Worker 54]
UpdateDesiredRepositoryAction:86 - END - Map<String, String> commandParameters
= getCommandParameters();
Thanks,
Di Li