ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Nettleton" <rnettle...@hortonworks.com>
Subject Review Request 42085: Add INSTALL_ONLY support to Blueprints on a per-component basis
Date Fri, 08 Jan 2016 20:42:18 GMT

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

Review request for Ambari, Mahadev Konar and Sumit Mohanty.


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

  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 db60d77

  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/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py c427c83

  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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message