> On Feb. 24, 2014, 4:04 p.m., Nate Cole wrote:
> > Is this an internal-only feature?  It seems the caller would need to know 
> > what renderings are available for the resource in question.
> 
> John Speidel wrote:
>     Thanks Nate for the review. 
>     This will be exposed to users, initially for exporting a blueprint for a 
> running cluster (api/v1/clusters/c1?format=blueprint).  Also, this new syntax 
> could be used to obtain a minimal response (myResource?format=minimal) even 
> though the old syntax still works (minimal_response=true).
>     Agreed on your concern about users knowing which renderers are available 
> for a given resource.  The API will need to be augmented to provide this 
> information for each resource.  Obtaining this information is easy as it is 
> in the resource definition, we just need to decide how to expose it via the 
> api.  Also, docs will need to be updated.

Forgot to mention, the user will not need to know which renderers are available 
unless he desires an alternate rendering for a resource as the default 
rendering doesn't require a renderer to be specified.  With this patch there 
will be 3 renderers, default (current behavior for all resources), minimal 
(current minimal_response=true for all resources) and blueprint which is 
specific to the cluster resource.


- John


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


On Feb. 21, 2014, 6:26 p.m., John Speidel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18363/
> -----------------------------------------------------------
> 
> (Updated Feb. 21, 2014, 6:26 p.m.)
> 
> 
> Review request for Ambari, Mahadev Konar, Nate Cole, Sumit Mohanty, and Tom 
> Beerbower.
> 
> 
> Bugs: AMBARI-4786
>     https://issues.apache.org/jira/browse/AMBARI-4786
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Export a blueprint for a running cluster using an alternate rendering for the 
> cluster resource.
> This patch also provides the functionality for providing alternate 
> renderings, such as blueprint for cluster resources.
> Also, the minimal_response=true syntax can now be specified using an 
> alternate rendering format=minimal for any resource.
> 
> For this change, the blueprint will be very minimal and will only contain 
> node groups and no configuration. Subsequent patches will introduce 
> configuration and other cluster data.
> 
> 
> GET api/v1/clusters/c1?format=blueprint
> 
> 
> {
>   "host_groups" : [
>     {
>       "name" : "host_group_1",
>       "components" : [
>         {
>           "name" : "HISTORYSERVER"
>         },
>         {
>           "name" : "OOZIE_CLIENT"
>         },
>         {
>           "name" : "JOBTRACKER"
>         },
>         {
>           "name" : "NAMENODE"
>         },
>         {
>           "name" : "OOZIE_SERVER"
>         },
>         {
>           "name" : "TASKTRACKER"
>         },
>         {
>           "name" : "NAGIOS_SERVER"
>         },
>         {
>           "name" : "SECONDARY_NAMENODE"
>         },
>         {
>           "name" : "MAPREDUCE_CLIENT"
>         },
>         {
>           "name" : "AMBARI_SERVER"
>         },
>         {
>           "name" : "GANGLIA_SERVER"
>         },
>         {
>           "name" : "HDFS_CLIENT"
>         },
>         {
>           "name" : "DATANODE"
>         },
>         {
>           "name" : "GANGLIA_MONITOR"
>         }
>       ],
>       "cardinality" : "1"
>     }
>   ],
>   "Blueprints" : {
>     "blueprint_name" : "blueprint-c1",
>     "stack_name" : "HDP",
>     "stack_version" : "1.3.3"
>   }
> }
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/handlers/BaseManagementHandler.java
>  a31a46e 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/handlers/ReadHandler.java
>  3b4cda1 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/handlers/RequestHandler.java
>  381dedb 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/predicate/QueryLexer.java
>  5aa04c4 
>   ambari-server/src/main/java/org/apache/ambari/server/api/query/Query.java 
> 58c947a 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java 
> a7ac498 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryInfo.java 
> PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/render/BaseRenderer.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/render/DefaultRenderer.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/render/MinimalRenderer.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/query/render/Renderer.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/BaseResourceDefinition.java
>  85ca8e5 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/ClusterResourceDefinition.java
>  4b0e8e1 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceDefinition.java
>  ba69869 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseRequest.java
>  ed7bc45 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
>  8bf7836 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/Request.java
>  f2de36e 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ResultPostProcessorImpl.java
>  c02e0a2 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/serializers/JsonSerializer.java
>  15b2f47 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/serializers/ResultSerializer.java
>  22b8c88 
>   ambari-server/src/main/java/org/apache/ambari/server/api/util/TreeNode.java 
> ffb41fa 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/util/TreeNodeImpl.java
>  da7ead4 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/spi/ClusterController.java
>  c50ff7e 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/spi/SchemaFactory.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/handlers/CreateHandlerTest.java
>  22356f0 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/handlers/DeleteHandlerTest.java
>  ac84348 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/handlers/ReadHandlerTest.java
>  f1d2ea6 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/handlers/UpdateHandlerTest.java
>  161a61d 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/predicate/QueryLexerTest.java
>  4cffb3b 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java
>  12160ff 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryInfoTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/query/render/DefaultRendererTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
>  152a30b 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
>  PRE-CREATION 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseRequestTest.java
>  9a68ec4 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/BaseServiceTest.java
>  8217b9c 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/serializers/JsonSerializerTest.java
>  63eb33a 
> 
> Diff: https://reviews.apache.org/r/18363/diff/
> 
> 
> Testing
> -------
> 
> - all unit tests pass
> - many new unit tests added
> - functional testing of all types of api calls and deployment of cluster via 
> UI
> 
> 
> Thanks,
> 
> John Speidel
> 
>

Reply via email to