----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/62787/ -----------------------------------------------------------
(Updated Oct. 5, 2017, 5:32 p.m.) 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 (updated) ----- 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 85f3a1b 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/3/ Changes: https://reviews.apache.org/r/62787/diff/2-3/ 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