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

(Updated Jan. 8, 2016, 8:52 p.m.)


Review request for Ambari, Mahadev Konar and Sumit Mohanty.


Changes
-------

Updated patch to remove extraneous file changes not required to implement 
AMBARI-14555.


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


Repository: ambari


Description
-------

This patch implements the new Blueprint support described in AMBARI-14555.

Blueprints will now support syntax to allow users to mark certain components in 
a Blueprint host group as "INSTALL_ONLY", meaning that Ambari will install 
them, but that these components will not be started initially.  

This patch implements the following:
1. Adds a new column to the "hostgroup_component" table in the Ambari DB, 
"provision_action", to store the provisioning state desired for a component. 
2. Moves the ProvisionAction enumerated type to a top-level class, in order to 
share this across the entire Blueprints implementation. 
3. Adds code to the UpgradeCatalog implementation for Ambari 2.2.1, in order to 
add the new column to older databases during an upgrade, and adds a unit test 
for this as well. 
4. Refactors the HostGroup interface and implementation, in order to support 
more configuration data being attached to a given host group component.  
5. Updates various sections of the code that use the HostGroup interface, to 
accomodate these changes. 
6. Adds handling code to store and read this new Blueprint syntax during the 
POST/GET calls on the BlueprintResourceProvider.
7. Modifies the HostComponentResourceProvider's start() method, such that a set 
of components that are marked as "INSTALL_ONLY" can be passed in.  Modifies the 
start() implementation to use a new set of predicates to filter out any 
components that should not be started prior to the start() operation being 
executed on the host.  
8. Updates various unit tests to accomodate interface and implementation 
changes.


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
 3705ceb 
  
ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java
 d57c17d 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
 f3100b5 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
 8c8b89d 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
 194d75f 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionAction.java
 PRE-CREATION 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java
 7b1de26 
  
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntity.java
 984c549 
  
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntityPK.java
 fb9011b 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java
 6bfee93 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java
 b8ce749 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImpl.java
 88052b0 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java
 1c293ee 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java
 c3c04db 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
 e78300c 
  ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java 
PRE-CREATION 
  ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroup.java 
07e3e88 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupImpl.java
 b89e7e4 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java 
440638c 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java
 bd9f2e0 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/RequiredPasswordValidator.java
 e26de3f 
  
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog221.java
 5cde24b 
  ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql d93a3c2 
  ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql aa8ced1 
  ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b534344 
  ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 941fc6e 
  ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 
dd517f8 
  ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql f837f9e 
  ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 239d27e 
  
ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java
 522d902 
  
ambari-server/src/test/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessorTest.java
 514e6ab 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 0384b45 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequestTest.java
 94ba90f 
  
ambari-server/src/test/java/org/apache/ambari/server/orm/entities/HostGroupComponentEntityTest.java
 c0efd0d 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintFactoryTest.java
 3a3b6dc 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintImplTest.java
 3addfc4 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java
 304cded 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java
 1354a72 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java
 08aa3d3 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/RequiredPasswordValidatorTest.java
 f4ded70 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java
 47169f4 
  
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog221Test.java
 319024b 

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


Testing
-------

1. Tested a 3-node HDFS HA cluster using a Blueprint with the original syntax 
(no new additions), and this deployment succeeded. 
2. Tested a 3-node HDFS HA cluster with certain components marked as 
"INSTALL_ONLY" with the new syntax.  Verified that the cluster deployed 
properly, and that the marked components were installed, but were not started 
by the Blueprints deployment. 
3. Ran "mvn clean test" in the ambari-server project:

"Tests in error:
  UpgradeCatalog221Test.testExecuteDMLUpdates:158 ยป NullPointer

Tests run: 3741, Failures: 0, Errors: 1, Skipped: 29"

The one failure seen also occurs in trunk without any patches applied, so this 
current patch does not introduce any new failures.


Thanks,

Robert Nettleton

Reply via email to