You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Antonenko Alexander (JIRA)" <ji...@apache.org> on 2014/07/25 21:01:38 UTC

[jira] [Updated] (AMBARI-6624) Make validation for minimum required number of service components from cardinality field of stacks API

     [ 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)