-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22218/
-----------------------------------------------------------
Review request for Ambari, Nate Cole and Sid Wagle.
Bugs: AMBARI-6015
https://issues.apache.org/jira/browse/AMBARI-6015
Repository: ambari
Description
-------
Provide topology validation when a blueprint is being created.
Topology is validated based on dependency and cardinality information provided
in the associated Ambari stack definition. I addition to validation, some
components, mostly clients, are auto-deployed if not present in the topology.
Again, this behavior is specified in the corresponding stack.
If topology validation fails, a 400 response is returned with a descriptive
message:
{ status: 400 message: "Cluster Topology validation failed. Invalid service
component count: [MYSQL_SERVER(actual=0, required=1), HIVE_METASTORE(actual=0,
required=1), HIVE_SERVER(actual=0, required=1)]. To disable topology validation
and create the blueprint, add the following to the end the url:
'?validate_topology=false'" }
To create a blueprint that fails validation, a user can disable topology
validation in the URL via '?validate_topology=false'.
The following cases are not currently supported by blueprint topology
validation and will require a user to disable validation when creating a
blueprint.
- external reference to MYSQL_SERVER or HIVE_METASTORE
- HA topology with > 1 NN and < 1SNN
- any other topology in which the default cardinality is is conditional on
other topology information. HA is one example of this.
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
3e5a224
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseBlueprintProcessor.java
PRE-CREATION
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
5e04141
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
2aa9ea1
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
cdc30d2
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/HostGroupEntity.java
f0422e3
ambari-server/src/main/java/org/apache/ambari/server/state/DependencyInfo.java
d6d000f
ambari-server/src/main/resources/properties.json 9c6dd9c
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml
6e057d2
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
d3e6ee0
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml
0e25020
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
3a181b8
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml
bf4e40b
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml
4b498a7
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml
d6b8fd2
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
fc09417
ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml
f878d77
ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml
71c7837
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java
99a1120
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
9f51ac7
Diff: https://reviews.apache.org/r/22218/diff/
Testing
-------
Functional testing:
- Tested various topologies
-- tests with auto-deploy
-- negative tests
-- positive tests without auto-deploy
- Tested disabling of topology validation
- Tested creating of cluster via blueprint
All unit tests pass:
Results :
Tests run: 1647, Failures: 0, Errors: 0, Skipped: 13
...
Total run:561
Total errors:0
Total failures:0
OK
Thanks,
John Speidel