Antonenko Alexander created AMBARI-7231:
-------------------------------------------

             Summary: Slider View: View UI should load data from Ambari API
                 Key: AMBARI-7231
                 URL: https://issues.apache.org/jira/browse/AMBARI-7231
             Project: Ambari
          Issue Type: Task
          Components: ambari-client
    Affects Versions: 1.7.0
            Reporter: Antonenko Alexander
            Assignee: Antonenko Alexander
            Priority: Critical
             Fix For: 1.7.0


Slider View UI currently calls 
{{/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1/resources/status}} API 
to determine if view is enabled, and if not, why it is not enabled. 

UI when loaded, should not use this GET call anymore. Rather it should 
determine this information by directly calling Ambari REST api, and then PUT 
this and other information to 
{{/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1}}.

UI should determine whether to enable view, and reasons why if not. 
The view could be disabled for multiple reasons. One or all of the below could 
be reasons why the view is disabled
* HDFS, YARN, ZK not installed
* HDFS, YARN, ZK not started

If any of the above are true, the reason(s) should be shown in appropriate 
message(s) (as we do currently).

Additionally, the following information should also be loaded from Ambari on 
load
* Cluster name
* HDFS location ({{fs.defaultFS}} config from {{core-site}})
* YARN RM location ({{yarn.resourcemanager.address}} from {{yarn-site}})
* YARN RM Scheduler location ({{yarn.resourcemanager.scheduler.address}} from 
{{yarn-site}})
* ZK Quorum path - comma separated path of all {{ZK_SERVER_HOST:clientPort}} 
values. {{clientPort}} is from {{zookeeper-env}}. Example: 
{{c6401:2181,c6402:2181,c6403:2181}}.

All the above information (cluster name, HDFS location, YARN RM location, YARN 
RM Scheduler location, ZK Quorum path) should then be PUT to {{properties}} key 
of {{/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1}}, from where GET 
can be called later during app running. 
{code}
{
  "href": 
"http://slider-1:8080/api/v1/views/SLIDER/versions/1.0.0/instances/SLIDER_1";,
  "ViewInstanceInfo": {
    "context_path": "/views/SLIDER/1.0.0/SLIDER_1",
    "description": null,
    "icon64_path": null,
    "icon_path": null,
    "instance_name": "SLIDER_1",
    "label": "Slider Apps View",
    "static": true,
    "version": "1.0.0",
    "view_name": "SLIDER",
    "visible": true,
    "instance_data": {},
    "properties": {
      "ambariAddress": "http://c6401:8080";,
      "clusterName": "c1",
      "hdfsAddress": "hdfs://c6401:8020",
      "yarnRMAddress": "c6402:8050",
      "yarnRMSchedulerAddress": "c6402:8030",
      "zookeeperQuorum": "c6401:2181,c6402:2181,c6403:2181"
    }
  }
}{code}

This effort is crucial for Slider view to work in a standalone environment.




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

Reply via email to