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

(Updated May 18, 2016, 1:19 p.m.)


Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Jayush Luniya, 
and Nate Cole.


Changes
-------

The new patch still has the following remaining items that need answers:

1) It still throws exceptions rather than logging issues.  This is consistent 
with how the StackManager deals with things in the stack that don't work.  
Waiting for Nate's response on the issue he opened.

2) The after tag still is multi purpose.  It orders a new group among the 
original groups and a new stage/priority/service among the existing ones in an 
original group.  The only unsupported use cases is to add a new group in a 
service upgrade xml file that will be added to in another service's upgrade xml 
file.  The correct approach would be to use different groups OR to add the 
group in the stack upgrade xml file.  Waiting for Jayush's response on that.


Bugs: AMBARI-15388
    https://issues.apache.org/jira/browse/AMBARI-15388


Repository: ambari


Description
-------

Currently the upgrade is defined as a series of xml files specific to the 
current stack version and the target stack version. Each upgrade xml defines 
the overall sequence of the upgrade and what needs to be done for each service. 
It would both easier to maintain and easier to add new services, if the 
services themselves could specify what should be done during their upgrade.

There are two ways to make these changes, the alternate approach would be to 
only make the java changes and not split the upgrade xml files.  This would 
still allow new services to add themselves into the upgrade.  The benefit of 
this is that for the stack services you only have one upgrade xml file.  The 
problem with that is it is easier for a particular service to have 
unintentional changes between upgrade xml files.


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/stack/CommonServiceDirectory.java
 7f7a49e 
  
ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceDirectory.java
 8a7b42b 
  ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java 
f781574 
  
ambari-server/src/main/java/org/apache/ambari/server/stack/StackDirectory.java 
13d5047 
  ambari-server/src/main/java/org/apache/ambari/server/stack/StackModule.java 
5a18b3f 
  
ambari-server/src/main/java/org/apache/ambari/server/stack/StackServiceDirectory.java
 88f6e19 
  ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java 
43cefb9 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java
 b860731 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java
 3325469 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java
 67d7fdb 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java
 5cda422 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 
6b74af0 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml 
9fb2bba 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.5.xml 
1e040e6 
  ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml 
e3bc7a3 
  ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml 
6e27da6 
  ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/upgrade-2.5.xml 
d755516 
  
ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerMiscTest.java
 dda1e7a 
  
ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
 15be8b4 
  
ambari-server/src/test/resources/stacks/HDP/2.0.5/services/HDFS/upgrades/HDP/2.2.0/upgrade_test_15388.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_15388.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/metainfo.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/hdp.json
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/role_command_order.json
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/services/HDFS/metainfo.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/services/HDFS/upgrades/HDP/2.2.0/upgrade_test_15388.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/upgrades/config-upgrade.xml
 PRE-CREATION 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/upgrades/upgrade_test_15388.xml
 PRE-CREATION 

Diff: https://reviews.apache.org/r/45169/diff/


Testing
-------

Manual testing so far.  I have the code read the upgrade xml and all of its 
service specific xml files, built the upgrade pack and then write the full 
upgrade xml to disk and then compare the results to the original upgrade xml.

This review is mostly for the design doc which is attached to the JIRA.  Not 
sure how to create a review board with a design doc instead of a patch file.


Thanks,

Tim Thorpe

Reply via email to