ambari-dev mailing list archives

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


> On Jan. 9, 2016, 1:32 a.m., Sid Wagle wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java, line
24
> > <https://reviews.apache.org/r/42085/diff/2/?file=1188821#file1188821line24>
> >
> >     IMO, This should be called ComponentProvisionAction since the class does not
capture any other state.

Thanks for the review!

My thinking here was that the name should be generic, since we might want to attach other
configuration or metadata to an individual host component, so I didn't want to tie the name
to the current state included.


- Robert


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


On Jan. 8, 2016, 9:35 p.m., Robert Nettleton wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42085/
> -----------------------------------------------------------
> 
> (Updated Jan. 8, 2016, 9:35 p.m.)
> 
> 
> Review request for Ambari, Mahadev Konar, Sumit Mohanty, and Sid Wagle.
> 
> 
> 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
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
> 
>


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