----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/58415/ -----------------------------------------------------------
(Updated April 14, 2017, 2:08 p.m.) Review request for Ambari, Attila Doroszlai, Robert Levas, Sandor Magyari, and Sebastian Toader. Bugs: AMBARI-20755 https://issues.apache.org/jira/browse/AMBARI-20755 Repository: ambari Description (updated) ------- Problem: Configuration types posted in the blueprint or in the cluster creation template need to be validated before the cluster provisioning is started and cluster resources are persisted in the database. This validation should be done when the topology configuration comes together so that it's not modified and enhanced further. Currently the topology configuration is modified after the validation thus on blueprint deployments the cluster provisioning may fail despite of the right configuration. Notes: - due to the nature of the topology validation, the validation logic and management of the validators have been extracted to a specialized service (before validators were attached to requests and the validation happened in the constructor) - some unit test cases became unecessary due to the above change, i removed them (and added other unit tests) - there are some formatting related hunks in the diff (i added them by mistake) The validators have been modified (as per internal discussions and test results) - configuration types are considered invalid if they are not in the stack ( regardless the services being deployed) - the hive database related validation checks for the mysql server in the list of components, not in the list of services Diffs ----- ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java f24c138 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java 1a14b01 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java b5d2f9d ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java e37c68d ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java 37fb7d4 ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java 2ac9950 ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java 392a53e ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyRequest.java cbc6642 ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ChainedTopologyValidator.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java 1351739 ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java 591a124 ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/topology/validators/TopologyValidatorFactory.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/topology/validators/TopologyValidatorService.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java dba4043 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequestTest.java 73a80f6 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ScaleClusterRequestTest.java 48d1351 ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterDeployWithStartOnlyTest.java a691cbc ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartOnComponentLevelTest.java 98ba592 ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java fc7ac27 ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java 3ea17b4 ambari-server/src/test/java/org/apache/ambari/server/topology/RequiredPasswordValidatorTest.java 4c88247 ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java 2d5978b ambari-server/src/test/java/org/apache/ambari/server/topology/validators/HiveServiceValidatorTest.java 745b01b ambari-server/src/test/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidatorTest.java PRE-CREATION Diff: https://reviews.apache.org/r/58415/diff/3/ Testing (updated) ------- Unit tests ran against trunk. (some unrelatet pyhon tests failed though) Manually tested on the local env. Testinfg on branch-2.5 Thanks, Laszlo Puskas