-----------------------------------------------------------
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