Repository: ambari Updated Branches: refs/heads/trunk 8a42b232f -> 81f1b978c
http://git-wip-us.apache.org/repos/asf/ambari/blob/81f1b978/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json deleted file mode 100644 index a4f35b9..0000000 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json +++ /dev/null @@ -1,687 +0,0 @@ -{ - "layouts": [ - { - "layout_name": "default_yarn_dashboard", - "display_name": "Standard YARN Dashboard", - "section_name": "YARN_SUMMARY", - "widgetLayoutInfo": [ - { - "widget_name": "Memory Utilization", - "description": "Memory Utilization Ratio", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "yarn.QueueMetrics.Queue=root.AllocatedMB._sum", - "metric_path": "metrics/yarn/Queue/root/AllocatedMB._sum", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AvailableMB._sum", - "metric_path": "metrics/yarn/Queue/root/AvailableMB._sum", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - } - ], - "values": [ - { - "name": "Memory Utilization", - "value": "${yarn.QueueMetrics.Queue=root.AllocatedMB._sum / (yarn.QueueMetrics.Queue=root.AvailableMB._sum + yarn.QueueMetrics.Queue=root.AvailableMB._sum)}" - } - ], - "properties": { - "display_unit": "%", - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "CPU Utilization", - "description": "CPU Utilization Ratio", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "yarn.QueueMetrics.Queue=root.default.AllocatedVCores._sum", - "metric_path": "metrics/yarn/Queue/root/AllocatedVCores._sum", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.default.AvailableVCores._sum", - "metric_path": "metrics/yarn/Queue/root/AvailableVCores._sum", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - } - ], - "values": [ - { - "name": "Total Allocatable CPU Utilized across NodeManager", - "value": "${yarn.QueueMetrics.Queue=root.default.AllocatedVCores._sum / (yarn.QueueMetrics.Queue=root.default.AllocatedVCores._sum + yarn.QueueMetrics.Queue=root.default.AvailableVCores._sum)}" - } - ], - "properties": { - "display_unit": "%", - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Bad Local Disks", - "description": "Number of unhealthy local disks accross all NodeManagers", - "widget_type": "NUMBER", - "is_visible": true, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.BadLocalDirs", - "metric_path": "metrics/yarn/BadLocalDirs", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.BadLogDirs", - "metric_path": "metrics/yarn/BadLogDirs", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Number of unhealthy local disks for NodeManager", - "value": "${yarn.NodeManagerMetrics.BadLocalDirs + yarn.NodeManagerMetrics.BadLogDirs}" - } - ], - "properties": { - "display_unit": "" - } - }, - { - "widget_name": "Container Failures", - "description": "Ratio of Container Failures", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.ContainersFailed._sum", - "metric_path": "metrics/yarn/ContainersFailed._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersCompleted._sum", - "metric_path": "metrics/yarn/ContainersCompleted._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersLaunched._sum", - "metric_path": "metrics/yarn/ContainersLaunched._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersIniting._sum", - "metric_path": "metrics/yarn/ContainersIniting._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersKilled._sum", - "metric_path": "metrics/yarn/ContainersKilled._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersRunning._sum", - "metric_path": "metrics/yarn/ContainersRunning._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Container Failures", - "value": "${yarn.NodeManagerMetrics.ContainersFailed._sum/(yarn.NodeManagerMetrics.ContainersFailed._sum + yarn.NodeManagerMetrics.ContainersCompleted._sum + yarn.NodeManagerMetrics.ContainersLaunched._sum + yarn.NodeManagerMetrics.ContainersIniting._sum + yarn.NodeManagerMetrics.ContainersKilled._sum + yarn.NodeManagerMetrics.ContainersRunning._sum)}" - } - ], - "properties": { - "display_unit": "%", - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "App Failures", - "description": "App Failures ratio", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "yarn.QueueMetrics.Queue=root.AppsFailed", - "metric_path": "metrics/yarn/Queue/root/AppsFailed", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AppsKilled", - "metric_path": "metrics/yarn/Queue/root/AppsKilled", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AppsPending", - "metric_path": "metrics/yarn/Queue/root/AppsPending", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AppsRunning", - "metric_path": "metrics/yarn/Queue/root/AppsRunning", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AppsSubmitted", - "metric_path": "metrics/yarn/Queue/root/AppsSubmitted", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - }, - { - "name": "yarn.QueueMetrics.Queue=root.AppsCompleted", - "metric_path": "metrics/yarn/Queue/root/AppsCompleted", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - } - ], - "values": [ - { - "name": "App Failures", - "value": "${yarn.QueueMetrics.Queue=root.AppsFailed/(yarn.QueueMetrics.Queue=root.AppsFailed + yarn.QueueMetrics.Queue=root.AppsKilled + yarn.QueueMetrics.Queue=root.AppsPending + yarn.QueueMetrics.Queue=root.AppsRunning + yarn.QueueMetrics.Queue=root.AppsSubmitted + yarn.QueueMetrics.Queue=root.AppsCompleted)}" - } - ], - "properties": { - "display_unit": "%", - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Pending Apps", - "description": "Applications in pending scheduling state for cluster", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "yarn.QueueMetrics.Queue=root.AppsPending._sum", - "metric_path": "metrics/yarn/Queue/root/AppsPending._sum", - "service_name": "YARN", - "component_name": "RESOURCEMANAGER" - } - ], - "values": [ - { - "name": "Pending Apps", - "value": "${yarn.QueueMetrics.Queue=root.AppsPending._sum}" - } - ], - "properties": { - "display_unit": "Apps", - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Cluster(NodeManager) Memory", - "description": "Memory utilization on NodeManager hosts", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "mem_total._sum", - "metric_path": "metrics/memory/mem_total._avg", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "mem_free._sum", - "metric_path": "metrics/memory/mem_free._avg", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "mem_cached._sum", - "metric_path": "metrics/memory/mem_cached._avg", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Memory utilization on NameNode host", - "value": "${(mem_total._sum - mem_free._sum - mem_cached._sum)/mem_total._sum}" - } - ], - "properties": { - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Cluster(NodeManager) Disk", - "description": "NodeManager widget for disk utilization", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "disk_free._sum", - "metric_path": "metrics/disk/disk_free._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "disk_total._sum", - "metric_path": "metrics/disk/disk_total._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Disk Utlization", - "value": "${(disk_total._sum - disk_free._sum)/disk_total._sum}" - } - ], - "properties": { - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Cluster(NodeManager) Network", - "description": "NodeManager widget for network utilization", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "pkts_in._avg", - "metric_path": "metrics/network/pkts_in._avg", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "pkts_out._avg", - "metric_path": "metrics/network/pkts_out._avg", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Packets In", - "value": "${pkts_in._avg}" - }, - { - "name": "Packets Out", - "value": "${pkts_out._avg}" - } - ], - "properties": { - "graph_type": "LINE", - "time_range": "1" - } - }, - { - "widget_name": "Cluster(NodeManager) CPU", - "description": "NodeManager widget for CPU utilization", - "widget_type": "GRAPH", - "is_visible": true, - "metrics": [ - { - "name": "cpu_system._sum", - "metric_path": "metrics/cpu/cpu_system._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "cpu_user._sum", - "metric_path": "metrics/cpu/cpu_user._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "cpu_nice._sum", - "metric_path": "metrics/cpu/cpu_nice._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "cpu_idle._sum", - "metric_path": "metrics/cpu/cpu_idle._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "cpu_wio._sum", - "metric_path": "metrics/cpu/cpu_wio._sum", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "CPU utilization on NameNode host", - "value": "${(cpu_system._sum + cpu_user._sum + cpu_nice._sum)/(cpu_system._sum + cpu_user._sum + cpu_nice._sum + cpu_idle._sum + cpu_wio._sum)}" - } - ], - "properties": { - "graph_type": "LINE", - "time_range": "1", - "display_unit": "%" - } - } - ] - }, - { - "layout_name": "default_yarn_heatmap", - "display_name": "YARN Heatmaps", - "section_name": "YARN_HEATMAPS", - "widgetLayoutInfo": [ - { - "widget_name": "YARN local disk space utilization per NodeManager", - "description": "", - "widget_type": "HEATMAP", - "is_visible": true, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.GoodLocalDirsDiskUtilizationPerc", - "metric_path": "metrics/yarn/GoodLocalDirsDiskUtilizationPerc", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.GoodLogDirsDiskUtilizationPerc", - "metric_path": "metrics/yarn/GoodLogDirsDiskUtilizationPerc", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "YARN local disk space utilization per NodeManager", - "value": "${(yarn.NodeManagerMetrics.GoodLocalDirsDiskUtilizationPerc + yarn.NodeManagerMetrics.GoodLogDirsDiskUtilizationPerc)/2}" - } - ], - "properties": { - "display_unit": "%", - "max_limit": "100" - } - }, - { - "widget_name": "Total Allocatable RAM Utilized per NodeManager", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.AllocatedGB", - "metric_path": "metrics/yarn/AllocatedGB", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.AvailableGB", - "metric_path": "metrics/yarn/AvailableGB", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Total Allocatable RAM Utilized per NodeManager", - "value": "${(yarn.NodeManagerMetrics.AllocatedGB/(yarn.NodeManagerMetrics.AvailableGB + yarn.NodeManagerMetrics.AllocatedGB)) * 100}" - } - ], - "properties": { - "display_unit": "%", - "max_limit": "100" - } - }, - { - "widget_name": "Total Allocatable CPU Utilized per NodeManager", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.AllocatedVCores", - "metric_path": "metrics/yarn/AllocatedVCores", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.AvailableVCores", - "metric_path": "metrics/yarn/AvailableVCores", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Total Allocatable CPU Utilized per NodeManager", - "value": "${(yarn.NodeManagerMetrics.AllocatedVCores/(yarn.NodeManagerMetrics.AllocatedVCores + yarn.NodeManagerMetrics.AvailableVCores)) * 100}" - } - ], - "properties": { - "display_unit": "%", - "max_limit": "100" - } - }, - { - "widget_name": "Number of unhealthy local disks for NodeManager", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.BadLocalDirs", - "metric_path": "metrics/yarn/BadLocalDirs", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.BadLogDirs", - "metric_path": "metrics/yarn/BadLogDirs", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Number of unhealthy local disks for NodeManager", - "value": "${yarn.NodeManagerMetrics.BadLocalDirs + yarn.NodeManagerMetrics.BadLogDirs}" - } - ], - "properties": { - "display_unit": "", - "max_limit": "100" - } - }, - { - "widget_name": "Container Failures", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.ContainersFailed", - "metric_path": "metrics/yarn/ContainersFailed", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersCompleted", - "metric_path": "metrics/yarn/ContainersCompleted", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersLaunched", - "metric_path": "metrics/yarn/ContainersLaunched", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersIniting", - "metric_path": "metrics/yarn/ContainersIniting", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersKilled", - "metric_path": "metrics/yarn/ContainersKilled", - "service_name": "YARN", - "component_name": "NODEMANAGER" - }, - { - "name": "yarn.NodeManagerMetrics.ContainersRunning", - "metric_path": "metrics/yarn/ContainersRunning", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Container Failures", - "value": "${(yarn.NodeManagerMetrics.ContainersFailed/(yarn.NodeManagerMetrics.ContainersFailed + yarn.NodeManagerMetrics.ContainersCompleted + yarn.NodeManagerMetrics.ContainersLaunched + yarn.NodeManagerMetrics.ContainersIniting + yarn.NodeManagerMetrics.ContainersKilled + yarn.NodeManagerMetrics.ContainersRunning)) * 100}" - } - ], - "properties": { - "display_unit": "%", - "max_limit": "100" - } - }, - { - "widget_name": "NodeManager GC Time", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "Hadoop:service=NodeManager,name=JvmMetrics.GcTimeMillis", - "metric_path": "metrics/jvm/gcTimeMillis", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "NodeManager Garbage Collection Time", - "value": "${Hadoop:service=NodeManager,name=JvmMetrics.GcTimeMillis}" - } - ], - "properties": { - "display_unit": "ms", - "max_limit": "10000" - } - }, - { - "widget_name": "NodeManager JVM Heap Memory Used", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "Hadoop:service=NodeManager,name=JvmMetrics.MemHeapUsedM", - "metric_path": "metrics/jvm/memHeapUsedM", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "NodeManager JVM Heap Memory Used", - "value": "${Hadoop:service=NodeManager,name=JvmMetrics.MemHeapUsedM}" - } - ], - "properties": { - "display_unit": "MB", - "max_limit": "512" - } - }, - { - "widget_name": "Allocated Containers", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.AllocatedContainers", - "metric_path": "metrics/yarn/AllocatedContainers", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "Allocated Containers", - "value": "${yarn.NodeManagerMetrics.AllocatedContainers}" - } - ], - "properties": { - "display_unit": "", - "max_limit": "100" - } - }, - { - "widget_name": "NodeManager RAM Utilized", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.AllocatedGB", - "metric_path": "metrics/yarn/AllocatedGB", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "NodeManager RAM Utilized", - "value": "${yarn.NodeManagerMetrics.AllocatedGB}" - } - ], - "properties": { - "display_unit": "", - "max_limit": "100" - } - }, - { - "widget_name": "NodeManager CPU Utilized", - "description": "", - "widget_type": "HEATMAP", - "is_visible": false, - "metrics": [ - { - "name": "yarn.NodeManagerMetrics.AllocatedVCores", - "metric_path": "metrics/yarn/AllocatedVCores", - "service_name": "YARN", - "component_name": "NODEMANAGER" - } - ], - "values": [ - { - "name": "NodeManager CPU Utilized", - "value": "${yarn.NodeManagerMetrics.AllocatedVCores}" - } - ], - "properties": { - "display_unit": "", - "max_limit": "100" - } - } - ] - } - ] -} http://git-wip-us.apache.org/repos/asf/ambari/blob/81f1b978/ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java b/ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java index 95dc587..2737695 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java @@ -23,6 +23,7 @@ import static org.easymock.EasyMock.createStrictMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; +import static org.easymock.EasyMock.anyObject; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -996,7 +997,8 @@ public class ServiceModuleTest { ServiceDirectory serviceDirectory = createNiceMock(ServiceDirectory.class); expect(serviceDirectory.getConfigurationDirectory(dir)).andReturn(configDir).anyTimes(); - expect(serviceDirectory.getMetricsFile()).andReturn(new File("testMetricsFile")).anyTimes(); + expect(serviceDirectory.getMetricsFile(anyObject(String.class))).andReturn(new File("testMetricsFile")).anyTimes(); + expect(serviceDirectory.getWidgetsDescriptorFile(anyObject(String.class))).andReturn(new File("testWidgetsFile")).anyTimes(); expect(serviceDirectory.getAlertsFile()).andReturn(new File("testAlertsFile")).anyTimes(); expect(serviceDirectory.getKerberosDescriptorFile()).andReturn(new File("testKerberosDescriptorFile")).anyTimes(); expect(serviceDirectory.getPackageDir()).andReturn("packageDir").anyTimes(); http://git-wip-us.apache.org/repos/asf/ambari/blob/81f1b978/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java index 0ae3fe2..df22acc 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java @@ -73,6 +73,35 @@ public class ServiceInfoTest { } @Test + public void testCustomMetricsWidgetsFiles() throws Exception { + + String serviceInfoXml = "<metainfo>\n" + + " <schemaVersion>2.0</schemaVersion>\n" + + " <services>\n" + + " <service>\n" + + " <name>CUSTOM</name>\n" + + " <displayName>CUSTOM</displayName>\n" + + " <metricsFileName>CUSTOM_metrics.json</metricsFileName>\n" + + " <widgetsFileName>CUSTOM_widgets.json</widgetsFileName>\n" + + " </service>\n" + + " <service>\n" + + " <name>DEFAULT</name>\n" + + " <displayName>DEFAULT</displayName>\n" + + " <comment>Apache Hadoop Distributed File System</comment>\n" + + " <version>2.1.0.2.0</version>\n" + + " </service>\n" + + " </services>\n" + + "</metainfo>\n"; + + Map<String, ServiceInfo> serviceInfoMap = getServiceInfo(serviceInfoXml); + + assertEquals("CUSTOM_metrics.json",serviceInfoMap.get("CUSTOM").getMetricsFileName()); + assertEquals("CUSTOM_widgets.json", serviceInfoMap.get("CUSTOM").getWidgetsFileName()); + assertEquals("metrics.json", serviceInfoMap.get("DEFAULT").getMetricsFileName()); + assertEquals("widgets.json",serviceInfoMap.get("DEFAULT").getWidgetsFileName()); + } + + @Test public void testSetRestartRequiredAfterRackChange() throws Exception { ServiceInfo serviceInfo = new ServiceInfo();
