-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/62787/
-----------------------------------------------------------

(Updated Oct. 5, 2017, 3:17 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
 33ce25e 
  
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/2/

Changes: https://reviews.apache.org/r/62787/diff/1-2/


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

Reply via email to