[ 
https://issues.apache.org/jira/browse/AMBARI-6624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antonenko Alexander updated AMBARI-6624:
----------------------------------------

    Attachment: AMBARI-66624.patch

> Make validation for minimum required number of service components from 
> cardinality field of stacks API
> ------------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-6624
>                 URL: https://issues.apache.org/jira/browse/AMBARI-6624
>             Project: Ambari
>          Issue Type: Task
>          Components: client
>    Affects Versions: 1.7.0
>            Reporter: Antonenko Alexander
>            Assignee: Antonenko Alexander
>             Fix For: 1.7.0
>
>         Attachments: AMBARI-66624.patch
>
>
> web-ui imposes validation for minimum limit of host components required to be 
> installed for a service. Right now it is *1* for all *master components* 
> *except* ZK server and HBase Master. So on "Assign Master" page UI doesn't 
> show "+" sign next to any service component except ZK server and HBase master.
> For now for Slave components, the minimum limit is *1* and maximum limit is 
> "ALL". So If user does not select any host, web-ui throws validation error 
> asking user to atleast select one host.
> As a resolution to this ticket, this validation logic needs to be fetched 
> from the server. Stacks API has cardinality field
> {code}
> {
>   "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/stackServices/HDFS/components?fields=StackServiceComponents/cardinality";,
>   "items" : [
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/DATANODE";,
>       "StackServiceComponents" : {
>         "cardinality" : "1+",
>         "component_name" : "DATANODE",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     },
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/HDFS_CLIENT";,
>       "StackServiceComponents" : {
>         "cardinality" : "0+",
>         "component_name" : "HDFS_CLIENT",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     },
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/JOURNALNODE";,
>       "StackServiceComponents" : {
>         "cardinality" : "0+",
>         "component_name" : "JOURNALNODE",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     },
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/NAMENODE";,
>       "StackServiceComponents" : {
>         "cardinality" : "1",
>         "component_name" : "NAMENODE",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     },
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/SECONDARY_NAMENODE";,
>       "StackServiceComponents" : {
>         "cardinality" : "1",
>         "component_name" : "SECONDARY_NAMENODE",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     },
>     {
>       "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/ZKFC";,
>       "StackServiceComponents" : {
>         "cardinality" : "0+",
>         "component_name" : "ZKFC",
>         "service_name" : "HDFS",
>         "stack_name" : "HDP",
>         "stack_version" : "2.1"
>       }
>     }
>   ]
> }
> {code}
> cardinality can also have value "ALL" which means service component should be 
> installed on all hosts of the cluster
> {code}
> {
>   "href" : 
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/GANGLIA/components/GANGLIA_MONITOR?fields=StackServiceComponents/cardinality";,
>   "StackServiceComponents" : {
>     "cardinality" : "ALL",
>     "component_name" : "GANGLIA_MONITOR",
>     "service_name" : "GANGLIA",
>     "stack_name" : "HDP",
>     "stack_version" : "2.1"
>   }
> }
> {code} 
> We should not require hard-coded map in App.StackServiceComponent.cardinality 
> function once this ticket is resolved
>  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to