You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Alejandro Fernandez <af...@hortonworks.com> on 2015/08/14 03:15:58 UTC

Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

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

Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs
-----

  ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95423
-----------------------------------------------------------


I think we should be using a feature branch for this type of development. A commit this large cannot be reviewed effectively. Developers would need to take a solid chunk of time to go over it. Smaller, incremental commits to a feature branch would help in two ways:

- You don't risk destabilizing trunk (which is needed to work on blocker issues relating to 2.1.x)
- The commits can be smaller, incremental, and don't need to be 100% functional

- Jonathan Hurley


On Aug. 13, 2015, 9:15 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 13, 2015, 9:15 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95626
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java (lines 199 - 201)
<https://reviews.apache.org/r/37461/#comment150738>

    Why wouldn't the group just have a type here? Or use the <direction> element on the group? 
    
    Also, I get the TODO here; but I'd rather see this throw some nasty exception instead of smoke-and-mirror code that works now and can be easily overlooked you get close to merging back in.


- Jonathan Hurley


On Aug. 14, 2015, 8 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 14, 2015, 8 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95683
-----------------------------------------------------------



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 
<https://reviews.apache.org/r/37461/#comment150780>

    Notice that I removed all of the redundant processing components where only the upgrade task was a restart since this is now the default.


- Alejandro Fernandez


On Aug. 18, 2015, 3:35 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 3:35 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 18, 2015, 5:21 p.m., Dmitro Lisnichenko wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml, line 22
> > <https://reviews.apache.org/r/37461/diff/3/?file=1042788#file1042788line22>
> >
> >     maybe just base on filename?

I thought about that, but I prefer to call it out explicitly, if the names ever change in the future.


- Alejandro


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


On Aug. 18, 2015, 3:35 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 3:35 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95739
-----------------------------------------------------------



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml (line 22)
<https://reviews.apache.org/r/37461/#comment150857>

    maybe just base on filename?


- Dmitro Lisnichenko


On Aug. 18, 2015, 3:35 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 3:35 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, lines 1001-1013
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043807#file1043807line1001>
> >
> >     Aren't you just using the enum name() here?  If there is a difference, put the function string value as a getter on the enum values.  The default enum for wrapper.getType() should be UNKNOWN.

Not all of the StageWrapper types are a function, i.e., SERVER_SIDE_ACTION and RU_TASKS
Since I'm explicitly checking for START, STOP, and RESTART, I will set function = wrapper.getType().name();


> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml, lines 154-156
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043834#file1043834line154>
> >
> >     Not really a TODO - if the component isn't present, it better not get scheduled.

These are my own comments so I remember to check those cases.


> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java, lines 28-29
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043831#file1043831line28>
> >
> >     Formatting.

What formatting change did you want me to make?


> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml, lines 169-172
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043834#file1043834line169>
> >
> >     This thing is really strange.  What is it's purpose?  If it's a marker for downgrade, why does it have a direction of UPGRADE?  Are you trying to say that in the direction of UPGRADE, this is their chance to downgrade?  Weird.

I haven't quite gotten to this point yet, but I image it will be something like that. When performing an UPGRADE, it we ever cross this group, then a Downgrade will have actual steps to do. If we haven't crossed it, then the Downgrade only needs to revert configs (since we've only taken backups and stopped services).


> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java, line 7187
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043838#file1043838line7187>
> >
> >     I prefer the previous assertion.  It keeps the test honest.

Will revert.


> On Aug. 19, 2015, 1:25 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml, lines 337-342
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043836#file1043836line337>
> >
> >     Your reasoning here is conflicting with a previous review about the rolling/non-rolling element.  Either you like to be specific or you prefer to use implicit meanings.  We started off last Sept making it implicit and Mahadev indicated we should have the element so people know exactly what's going to happen, because the element was there.  I can absolutely see the case where we can make an upgrade pack that has some rolling (using "restart") and other stop the world.  In fact, I think Oozie would prefer a stop-all in the regular rolling upgrade.  We shouldn't be changing original decisions like this because we think the file is big.

Will revert to processing components again.


- Alejandro


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


On Aug. 18, 2015, 8:59 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 8:59 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Nate Cole <nc...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95857
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (lines 1001 - 1013)
<https://reviews.apache.org/r/37461/#comment151006>

    Aren't you just using the enum name() here?  If there is a difference, put the function string value as a getter on the enum values.  The default enum for wrapper.getType() should be UNKNOWN.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (line 1055)
<https://reviews.apache.org/r/37461/#comment151007>

    function string can be UKNOWN, so if something ever made it the agent, this will likely fail (but I think that's ok)



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java (line 25)
<https://reviews.apache.org/r/37461/#comment151009>

    This is good - I envision one day adding a PATCH type :)



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java (lines 28 - 29)
<https://reviews.apache.org/r/37461/#comment151008>

    Formatting.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml (lines 154 - 156)
<https://reviews.apache.org/r/37461/#comment151002>

    Not really a TODO - if the component isn't present, it better not get scheduled.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml (lines 169 - 172)
<https://reviews.apache.org/r/37461/#comment151003>

    This thing is really strange.  What is it's purpose?  If it's a marker for downgrade, why does it have a direction of UPGRADE?  Are you trying to say that in the direction of UPGRADE, this is their chance to downgrade?  Weird.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 
<https://reviews.apache.org/r/37461/#comment151004>

    See other comment.  I think these should stay.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml 
<https://reviews.apache.org/r/37461/#comment151001>

    Your reasoning here is conflicting with a previous review about the rolling/non-rolling element.  Either you like to be specific or you prefer to use implicit meanings.  We started off last Sept making it implicit and Mahadev indicated we should have the element so people know exactly what's going to happen, because the element was there.  I can absolutely see the case where we can make an upgrade pack that has some rolling (using "restart") and other stop the world.  In fact, I think Oozie would prefer a stop-all in the regular rolling upgrade.  We shouldn't be changing original decisions like this because we think the file is big.



ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java (line 7187)
<https://reviews.apache.org/r/37461/#comment151005>

    I prefer the previous assertion.  It keeps the test honest.


- Nate Cole


On Aug. 18, 2015, 4:59 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 4:59 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95991
-----------------------------------------------------------

Ship it!


Ship It!

- Jonathan Hurley


On Aug. 19, 2015, 11:33 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 19, 2015, 11:33 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 20, 2015, 9:18 p.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Fixed formatting issue.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95949
-----------------------------------------------------------

Ship it!


Ship It!

- Dmitro Lisnichenko


On Aug. 20, 2015, 3:33 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 20, 2015, 3:33 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 20, 2015, 3:33 a.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Reran unit tests, all passed


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 20, 2015, 2:18 a.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

This is hopefully the last patch.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 19, 2015, 11:56 a.m., Dmitro Lisnichenko wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, line 986
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043807#file1043807line986>
> >
> >     How about renaming to makeCommandStage() as well?

Will rename it.


> On Aug. 19, 2015, 11:56 a.m., Dmitro Lisnichenko wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java, line 81
> > <https://reviews.apache.org/r/37461/diff/4/?file=1043824#file1043824line81>
> >
> >     Is not that an erroneous situation? Maybe better throw exception here?

Not necessarily. This is just allowing the code to be more robust.


- Alejandro


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


On Aug. 18, 2015, 8:59 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 8:59 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95851
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (line 986)
<https://reviews.apache.org/r/37461/#comment150997>

    How about renaming to makeCommandStage() as well?



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java (line 81)
<https://reviews.apache.org/r/37461/#comment150998>

    Is not that an erroneous situation? Maybe better throw exception here?


- Dmitro Lisnichenko


On Aug. 18, 2015, 8:59 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 8:59 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 18, 2015, 8:59 p.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Addressed comments.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeFunction.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 18, 2015, 4:47 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java, line 20
> > <https://reviews.apache.org/r/37461/diff/3/?file=1042769#file1042769line20>
> >
> >     Maybe something less generic like UpgradeFunction? FunctionProvider sounds too similar to our other provider classes.

Will do.


> On Aug. 18, 2015, 4:47 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java, lines 74-76
> > <https://reviews.apache.org/r/37461/diff/3/?file=1042770#file1042770line74>
> >
> >     This kind of feels wrong. For a totally new orchestration, should we be creating a different builder and encapsulating all of the stage logic and stuff in there? Seems like sharing builders for different orchestrations is defeating the purpose of having builders.

You're right. Actually, the DefaultBuilder isn't using the functionName I introduced any more.


> On Aug. 18, 2015, 4:47 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml, lines 311-316
> > <https://reviews.apache.org/r/37461/diff/3/?file=1042789#file1042789line311>
> >
> >     Do we really want these to all be implicit? It makes the upgrade pack more cryptic. I'm fine with removing some of the redundency, but maybe we should be leaving the service and components.

The "order" element is enough to specify the components that are being upgraded. During RU, it's implied that the components are being restarted, so I want to make it less verbose. During Stop-the-World, it's also a RESTART.
Keeping it simple.


- Alejandro


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


On Aug. 18, 2015, 3:35 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 3:35 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95730
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java (line 20)
<https://reviews.apache.org/r/37461/#comment150846>

    Maybe something less generic like UpgradeFunction? FunctionProvider sounds too similar to our other provider classes.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java (lines 73 - 75)
<https://reviews.apache.org/r/37461/#comment150847>

    This kind of feels wrong. For a totally new orchestration, should we be creating a different builder and encapsulating all of the stage logic and stuff in there? Seems like sharing builders for different orchestrations is defeating the purpose of having builders.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 
<https://reviews.apache.org/r/37461/#comment150849>

    Do we really want these to all be implicit? It makes the upgrade pack more cryptic. I'm fine with removing some of the redundency, but maybe we should be leaving the service and components.


- Jonathan Hurley


On Aug. 17, 2015, 11:35 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2015, 11:35 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95682
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java (line 274)
<https://reviews.apache.org/r/37461/#comment150778>

    Notice now that RU will default to RestartTask during the upgrade, so the xml files become less verbose.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java (line 189)
<https://reviews.apache.org/r/37461/#comment150779>

    + Jonathan



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java (line 112)
<https://reviews.apache.org/r/37461/#comment150775>

    The RESTART task was hardcoding the verb "Restarting", so I generalized it to specify its action verb, and did the same for the others.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java (line 20)
<https://reviews.apache.org/r/37461/#comment150776>

    RestartGrouping, StartGrouping, and StopGrouping must implement this class.
    
    I didn't want to assume that the type of the class was always going to be the exact name of a function.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java (line 31)
<https://reviews.apache.org/r/37461/#comment150777>

    I had to rename this by appending "-task" so that it doesn't conflict with class RestartGrouping's type.


- Alejandro Fernandez


On Aug. 18, 2015, 3:35 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 18, 2015, 3:35 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 18, 2015, 3:35 a.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Addressed comments.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ConfigureTask.java 8a9e2e5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java a0afdfb 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionProvider.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ManualTask.java 2b1ba56 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RestartTask.java 1b69b5b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerActionTask.java 7a42c3b 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServerSideActionTask.java 97981ae 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckTask.java 5893edf 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java 7d2c117 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/
-----------------------------------------------------------

(Updated Aug. 15, 2015, midnight)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Addressed comments.


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


Repository: ambari


Description
-------

Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)

Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y

This is commit #1 out of many, so there are a lot of #TODO comments.


Diffs (updated)
-----

  ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
  ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
  ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
  ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
  ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
  ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
  ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 

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


Testing
-------

Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.

I ran unit tests for the following classes, and they all passed.
UpgradeActionTest
UpgradeResourceProviderTest
UpgradeResourceProviderHDP22Test
UpgradeResourceDefinitionTest
UpgradePackTest
UpgradeCheckStackVersionTest
UpgradeCheckOrderTest
UpgradeItemServiceTest
UpgradeHelperTest

Waiting for full unit test results.


Thanks,

Alejandro Fernandez


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 14, 2015, 2:37 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml, line 22
> > <https://reviews.apache.org/r/37461/diff/1/?file=1039765#file1039765line22>
> >
> >     No you don't, use "rolling" as the default in java.

I prefer to explicitly define this since I see no clear default type between rolling and non-rolling.


- Alejandro


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


On Aug. 15, 2015, midnight, Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 15, 2015, midnight)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 14, 2015, 2:37 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml, lines 47-48
> > <https://reviews.apache.org/r/37461/diff/1/?file=1039760#file1039760line47>
> >
> >     This is wrong.  It's forcing a type to not be a type.  Use <group xsi:type="stop" ...>

I wanted to use "function" as the type so that FunctionGrouping could still use DefaultBuilder and it could work with any function name, "start", "stop", "restart", or whatever else we cook up in the future. 
If I change the type to "stop", "start", or "restart", then I'll need one class for every one of these, which isn't as maintainable.


> On Aug. 14, 2015, 2:37 p.m., Nate Cole wrote:
> > ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java, line 51
> > <https://reviews.apache.org/r/37461/diff/1/?file=1039767#file1039767line51>
> >
> >     Come on man :)  By now your IDE should just be doing this.

Figured out how to do this, thanks!


- Alejandro


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


On Aug. 14, 2015, 1:15 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 14, 2015, 1:15 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On Aug. 14, 2015, 2:37 p.m., Nate Cole wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml, lines 47-48
> > <https://reviews.apache.org/r/37461/diff/1/?file=1039760#file1039760line47>
> >
> >     This is wrong.  It's forcing a type to not be a type.  Use <group xsi:type="stop" ...>
> 
> Alejandro Fernandez wrote:
>     I wanted to use "function" as the type so that FunctionGrouping could still use DefaultBuilder and it could work with any function name, "start", "stop", "restart", or whatever else we cook up in the future. 
>     If I change the type to "stop", "start", or "restart", then I'll need one class for every one of these, which isn't as maintainable.

I tried switching it to <group xsi:type="stop" ...> or <group xsi:type="restart" ...> (for my other class) and it generated a run-time error because the StopTask and StopGrouping class have a collision since both use the "stop" XmlType annotation.
RU uses "restart" for the processing task, so Stop-and-Start Upgrade cannot reuse "restart" as an XmlType.
I'll switch back to my original method, it was worth a try.


- Alejandro


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


On Aug. 15, 2015, midnight, Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 15, 2015, midnight)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java 599a1f7 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Nate Cole <nc...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95422
-----------------------------------------------------------


This is a lot of code.  You should be creating a feature branch and take frequent from trunk to keep up to date.


ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java (line 26)
<https://reviews.apache.org/r/37461/#comment150355>

    make the annotation new line from the definition, and make the inline comments javadoc comments



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java (line 26)
<https://reviews.apache.org/r/37461/#comment150356>

    make the annotation new line from the definition, and make the inline comments javadoc comments



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml (lines 47 - 48)
<https://reviews.apache.org/r/37461/#comment150357>

    This is wrong.  It's forcing a type to not be a type.  Use <group xsi:type="stop" ...>



ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml (line 22)
<https://reviews.apache.org/r/37461/#comment150359>

    No you don't, use "rolling" as the default in java.



ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java (line 51)
<https://reviews.apache.org/r/37461/#comment150358>

    Come on man :)  By now your IDE should just be doing this.


- Nate Cole


On Aug. 13, 2015, 9:15 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 13, 2015, 9:15 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 37461: AMBARI-12755. Stop-and-Start Upgrade: UpgradeHelper to support nonrolling upgrade pack

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37461/#review95363
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (line 89)
<https://reviews.apache.org/r/37461/#comment150292>

    Will fix this by expanding the import.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (line 878)
<https://reviews.apache.org/r/37461/#comment150293>

    General stage that supports either a start, stop, or restart command.



ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java (line 62)
<https://reviews.apache.org/r/37461/#comment150294>

    We now support START and STOP commands from the upgrade pack.



ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java (line 50)
<https://reviews.apache.org/r/37461/#comment150295>

    Will fix this by expanding the import.



ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java (line 253)
<https://reviews.apache.org/r/37461/#comment150296>

    I wanted to keep the NonRolling upgrade pack minimal, so it doesn't have any <processing> elements. Instead, I create them on the fly.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java (line 34)
<https://reviews.apache.org/r/37461/#comment150297>

    Will fix this by expanding the import.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java (line 183)
<https://reviews.apache.org/r/37461/#comment150298>

    This is just a placeholder for now.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java (line 29)
<https://reviews.apache.org/r/37461/#comment150299>

    This type of grouping has an element called "function" that specifies the method to call, such as start, stop, or even restart.



ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java (line 117)
<https://reviews.apache.org/r/37461/#comment150300>

    Only a Rolling Upgrade needs to create service checks for the remaining services.
    In a Stop-and-Start Upgrade, only some of the services are up.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml (line 22)
<https://reviews.apache.org/r/37461/#comment150301>

    This is the most important file in the code review.



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml (line 20)
<https://reviews.apache.org/r/37461/#comment150303>

    This file was renamed from "upgrade-2.2.xml". No changes except adding the type as "rolling"



ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml (line 21)
<https://reviews.apache.org/r/37461/#comment150304>

    This file was renamed from "upgrade-2.3.xml". No changes except adding the type as "rolling"



ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml (line 22)
<https://reviews.apache.org/r/37461/#comment150305>

    I still need to add the type as "rolling" in this file.



ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java (line 51)
<https://reviews.apache.org/r/37461/#comment150306>

    Will fix this by expanding the import.



ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java (line 236)
<https://reviews.apache.org/r/37461/#comment150307>

    Basic sanity test.



ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java (line 298)
<https://reviews.apache.org/r/37461/#comment150308>

    Basic sanity test.


- Alejandro Fernandez


On Aug. 14, 2015, 1:15 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37461/
> -----------------------------------------------------------
> 
> (Updated Aug. 14, 2015, 1:15 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12755
>     https://issues.apache.org/jira/browse/AMBARI-12755
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Subtask of Epic, AMBARI-12698 (Update the stack by stopping and starting services in an orchestrated fashion)
> 
> Initial commit to introduce a "nonrolling" type of Upgrade Pack, so that UpgradeHelper can orchestrate it correctly during an upgrade.
> For starters, this can create a nonrolling upgrade pack for HDP 2.2.x -> 2.2.y
> 
> This is commit #1 out of many, so there are a lot of #TODO comments.
> 
> 
> Diffs
> -----
> 
>   ambari-common/src/main/python/resource_management/libraries/functions/hdp_select.py d0ee9ad 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java 43bdbfe 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 770cc04 
>   ambari-server/src/main/java/org/apache/ambari/server/metadata/ActionMetadata.java e821827 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 86dbccd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java 5e63744 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java 9691292 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ad84210 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/FunctionGrouping.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java a1e1fcd 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ServiceCheckGrouping.java 4fe5e98 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapper.java eac5ce5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java f7b37ab 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StartTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StopTask.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java 6416b57 
>   ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/UpgradeType.java PRE-CREATION 
>   ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_upgrade.py 610f527 
>   ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py 1415367 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.2.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 72032c3 
>   ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml f6823c8 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/rolling-upgrade-2.3.xml PRE-CREATION 
>   ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 7471025 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 6267f53 
>   ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java 7a1d522 
>   ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py c4ff3dc 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml 92e8c6a 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml 89a9e4f 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b7a62f5 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml b4b6663 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml 02b0ebf 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 5271ae6 
>   ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml 892b9b4 
> 
> Diff: https://reviews.apache.org/r/37461/diff/
> 
> 
> Testing
> -------
> 
> Deployed a cluster, and copied my changes over, then verified that registering a new version still allowed performing a Rolling Upgrade (this defaulted to using the rolling upgrade pack).
> Manually edited the DB to use my nonrolling upgrade pack, and was able to perform a Stop-and-Start Upgrade where the orchestration was correct.
> 
> I ran unit tests for the following classes, and they all passed.
> UpgradeActionTest
> UpgradeResourceProviderTest
> UpgradeResourceProviderHDP22Test
> UpgradeResourceDefinitionTest
> UpgradePackTest
> UpgradeCheckStackVersionTest
> UpgradeCheckOrderTest
> UpgradeItemServiceTest
> UpgradeHelperTest
> 
> Waiting for full unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>