Shantanu Mundkur created AMBARI-14123:
-----------------------------------------

             Summary: Inconsistencies in UI handling of component cardinality
                 Key: AMBARI-14123
                 URL: https://issues.apache.org/jira/browse/AMBARI-14123
             Project: Ambari
          Issue Type: Bug
          Components: ambari-web
    Affects Versions: 2.1.0, 2.1.1, 2.1.2
            Reporter: Shantanu Mundkur
             Fix For: 2.2.0


There were several inconsistencies noted in how component cardinality is 
presently handled by the Ambari UI. some of these inconsistencies might be 
considered a reasonable limitation if a warning is displayed to alert the user 
about the inconsistency.

1) A MASTER component is shown on the "Assign Masters" page with a selection 
that does not match the minimum cardinality specified in the service 
definition. 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) There is no option that allows zero MASTER components from the outset of a 
new installation (assuming optional MASTER components could be a requirement 
for some services). As the behavior is today, the only way to achieve a 
cardinality of 0 for MASTER component would be to use a cardinality of 0+ and 
then delete the instance of the component post-install.

3) If a MASTER component specifies a cardinality of ALL then this is not 
represented correctly as one instance/host for the component is pre-selected. 
Instead, maybe there should be an indication that the component will be 
installed on every host and the user be disallowed from any selection that is 
an obvious inconsistency.

3) Clubbing together of SLAVE and CLIENT via the "Assign Slaves and Clients" 
page gives rise to a couple of problems. 

i) With a cardinality ALL for SLAVE as well as for CLIENT component, ALL is 
enforced by skipping the "Assign Slaves and Clients" Page. This might be fine 
though an alternate representation for cardinality ALL might be preferable as 
would be apparent from the rest of the details provided here.

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 via the checkboxes. If the CLIENT cardinality is ALL then the 
checkbox selection is ignored silently and without any warnings. 

ii) Combinations of cardinality for components of multiple services when  
multiple services are being installed or added, can be hard to respresent via 
the UI. For instance, when CLIENT component for these services have conflicting 
cardinality, the user would not be able to completely get rid of the warning 
message and might see for example:

" Exactly 3 Service1 Client components should be installed in cluster.
  Exactly 2 Service2 Client components should be installed in cluster." 

Obviously, one or the other could be resolved but not both.

One might just have to proceed ignoring the warning or else choose to install 
the services separately, one at a time. Maybe no change is needed here but I am 
including this observation for completeness.

4) Validation of MASTER and CLIENT component cardinality via stack advisor 
logic might not be working as expected as some warnings are not surfaced out to 
the user or for that matter to the log.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to