You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@ambari.apache.org by Shantanu Mundkur <an...@gmail.com> on 2016/03/08 20:14:14 UTC

Re: Review Request 40527: AMBARI-11825: Failure to add or install component defined with cardinality ALL


> On Nov. 23, 2015, 4:03 a.m., Jaimin Jetly wrote:
> > ambari-web/app/controllers/wizard/step8_controller.js, lines 1059-1068
> > <https://reviews.apache.org/r/40527/diff/1/?file=1133828#file1133828line1059>
> >
> >     If we are going to support "ALL" cardinlaity for master components then lets not show any master host component with "ALL" cardinality on "Assign Masters page". It will be confusing if end-user deselects host components on "Assign Master" page and even after that ambari creates host component on those hosts.
> 
> Shantanu Mundkur wrote:
>     Hi Jaimin,
>     
>     Thank you for reviewing the changes.
>     
>     I thought cardinality "ALL" was already supported for MASTER (as well as for SLAVE and CLIENT) component type. It is a different matter that it probably has not worked or been usable with ALL because of the current defect we are trying to fix. Here are some of the issues around cardinality that I took note of while working on the current problem (including the one that you have raised). I think you will understand why I am suggesting that they should be tackled independent of this issue.
>     
>     1) As you pointed out as well, the MASTER component is shown on the Assign Masters page with a selection that does not match the minimum cardinality specified in the service definition. However, this is not just for ALL but any other cardinality > 1. For instance, 2+ will still result in only 1 host being assigned for the component. The user has to manually click on + and add additional hosts. There is no warning either that the selection does not match the requirement (e.g. minimum of 2).
>     
>     2) For SLAVE and for CLIENT, ALL is enforced by skipping Slaves and Clients Page. This is fine. However, if the SLAVE of any selected service has some cardinality other than ALL then the page is not skipped. This means somebody could try selecting the number of clients as well (though that would not be honored).
>     
>     3) For SLAVE - ALL is enforced by the SLAVE for the corresponding service(s) with cardinality ALL not being listed on Assign Slaves and Clients Page. This is fine.
>     
>     4) For CLIENT the defined cardinality of the client while honored eventually is inconsistent with the selection (number of checked checkboxes) on Assign Slaves and Clients Page. This is explained in point 2) above.
>     
>     5) If an attempt is made to add multiple services and the CLIENT for these services have conflicting cardinality, the user would not be able to completely get rid of the warning message such as " Exactly 3 Service1 Client components should be installed in cluster.
>     Exactly 2 Service2 Client components should be installed in cluster." 
>     
>     6) From debugging, it appears as though the stack advisor does not do validation for cardinality of MASTER and nor for CLIENT. (or at least there is something not correct in how it is processing the components).
>      
>     My recommendation would be to open separate Jira(s) for them. I plan to open one (or probably more) for the issues I highlighted above.
>     
>     If you agree can you please approve the changes and push the changes into trunk? Thanks.
>     
>     Shantanu

AMBARI-14123 has been created as a follow up on the highlighted and related issues found during unit testing before and after the changes for AMBARI-11825.


- Shantanu


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


On Nov. 20, 2015, 7:11 a.m., Shantanu Mundkur wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/40527/
> -----------------------------------------------------------
> 
> (Updated Nov. 20, 2015, 7:11 a.m.)
> 
> 
> Review request for Ambari and Jaimin Jetly.
> 
> 
> Bugs: AMBARI-11825
>     https://issues.apache.org/jira/browse/AMBARI-11825
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> A MASTER, SLAVE or CLIENT component defined with a cardinality of ALL results in a failure while adding the service, upon clicking Deploy, with an error like:
> 
> org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException: Attempted to create host_component's which already exist: [clusterName=CLUSTER1, hostName=node1.domain.com, componentName=MYSERVICE_MASTER],[clusterName=CLUSTER1, hostName=node1.domain.com, componentName=MYSERVICE_MASTER]
> 
> or
> 
> org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException: Attempted to create a host_component which already exists: [clusterName=CLUSTER2, hostName=node10.domain.com, componentName=MYSERVICE_SLAVE]
> 
> 
> Diffs
> -----
> 
>   ambari-web/app/controllers/wizard/step8_controller.js 5c4baa3 
>   ambari-web/test/controllers/wizard/step8_test.js 9331db5 
> 
> Diff: https://reviews.apache.org/r/40527/diff/
> 
> 
> Testing
> -------
> 
> (1) "mvn clean test" under ambari-web
>    
>   Results:
>   10388 tests complete (16 seconds)
>   115 tests pending
> 
> (2) Test sin (1) included new test-cases that were added for the Jira.
> 
> (3) Manually tested different scenarios using a custom service with MASTER, SLAVE and CLIENT components using different combinations of cardinality and using ALL for the defined components.
> 
> 
> Thanks,
> 
> Shantanu Mundkur
> 
>