Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.1.0
-
None
Description
As a part of this ticket, create an experimental flag under which poll for the widget information from the stack while landing on the service summary page for the first time. Since this is a static information, it is required to be polled just once. This needs to be mapped to a model as described below
Example API for HDFS service:
{ href: "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/2.2/services/HDFS/artifacts/widget_layout", Artifacts: { artifact_name: "widget_order", service_name: "HDFS", stack_name: "HDP", stack_version: "2.2" }, artifact_data: { name: "HDFS", // This is the serviceName in the ember-data model sections: [ { name: "HDFS_SUMMARY" // This is the sectionName as described in the below ember-data model widgets: [ { widget_name: “NAMENODE_HEAP”, widget_type: “GAUGE”, component_name: “NAMENODE”, display_name: "NameNode Heap", expression: [{ template: “${jvmMemoryHeapUsed}/${jvmMemoryHeapMax}” }], properties: { “warning_threshold”: 0.5, “error_threshold”: 0.7 } }, { widget_name: "HDFS_BYTES_READ", widget_type: “HEATMAP”, display_name: "HDFS Bytes Read", description: "", component_name: “DATANODE”, expression: [ { template: "${metrics.dfs.datanode.bytes_read}" } ] properties: { display_unit: "MB", max_limit: "1024" } } ] } ] }, ] } ] } }
App.Widget = DS.Model.extend({ widgetName: DS.attr('string'), defaultOrder: "" // This field is not derived from API but needs to be filled in the mapper on the client side widgetType: DS.attr('string'), displayName: DS.attr('string'), serviceName: DS.attr('string'), componentName: DS.attr('string'), timeCreated: DS.attr('number'), sectionName: DS.attr('string'), author: DS.attr('string'), properties: DS.attr('object'), expression: DS.attr('array') });