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

(Updated Oct. 27, 2015, 11:18 a.m.)


Review request for Ambari, Robert Nettleton and Sumit Mohanty.


Changes
-------

- set configRecommendationStrategy to final in ProvisionClusterRequest


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


Repository: ambari


Description
-------

During update configuration for cluster creation, configurations are upgraded 
based on response of the StackAdvisor.
The advised configurations will be added to cluster topology, and used during 
BlueprintConfigurationProcessor#doUpdateForClusterCreate(). The advised 
configurations filtered out based on ConfigRecommendationStrategy, which can be 
set in the Cluster Creation Template, e.g.:
{
  "blueprint" : "multi-node-conf-yarn",
  "default_password" : "secret",
  "config_recommendation_strategy" : "ONLY_STACK_DEFAULTS_APPLY",
    "host_groups": [
        {
          "hosts": [
              { "fqdn": "c6402.ambari.apache.org" }
          ],
          "name": "master",
          "configurations" : [ ]
        },
        {
          "hosts": [
              { "fqdn": "c6403.ambari.apache.org" }
          ],
          "name": "slave_1",
          "configurations" : [ ]
        }
    ],
  "Clusters" : {"cluster_name":"cluster_name"}
}
Also tested with host count and predicate:
...
"host_count" : ..,
"host_predicate" : "...",
...
I added the configuration modifications BEFORE the basic updates happen in 
BlueprintConfigurationProcessor.
As I see stackAdvisor not supports host group scoped configurations, so as my 
changes. I made a new AdvisedConfiguration which has a Map field for 
properties, this field can be a Configuration object in the future (if property 
attributes will be supported..because they are not supported too)

question: is that the correct way to geather stack defaults in 
BlueprintConfigurationProcessor#doFilterStackDefaults() ?


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java
 PRE-CREATION 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
 5bc0962 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
 18fca8a 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
 e2f132e 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java
 4a906b1 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/AdvisedConfiguration.java
 PRE-CREATION 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java
 1ebde17 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java
 284a913 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
 5b716ae 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/ConfigRecommendationStrategy.java
 PRE-CREATION 
  
ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java
 64be609 
  
ambari-server/src/test/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessorTest.java
 PRE-CREATION 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 34b72b6 
  
ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java
 8eeb54c 

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


Testing
-------

Unit tests passed:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:30 h
[INFO] Finished at: 2015-10-20T16:23:54+00:00
[INFO] Final Memory: 48M/687M
[INFO] -----------------------------------------------------------------------

Functional tests: Manually
(added "config_recommendation_strategy" field to the cluster creation template: 
tried 4 variations: field is missing, and set the field to NEVER_APPLY, 
ALWAYS_APPLY and ONLY_STACK_DEFAULTS_APPLY)


Thanks,

Oliver Szabo

Reply via email to