You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2014/08/07 14:09:39 UTC

git commit: AMBARI-6767. Web Client Should Consult Service Check Availability. (Denys Buzhor via akovalenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk 5a56e80cd -> 2e432f3b4


AMBARI-6767. Web Client Should Consult Service Check Availability. (Denys Buzhor via akovalenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2e432f3b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2e432f3b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2e432f3b

Branch: refs/heads/trunk
Commit: 2e432f3b496cc15547b9c6b3664c5b9c64084dba
Parents: 5a56e80
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Thu Aug 7 15:07:41 2014 +0300
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Thu Aug 7 15:07:54 2014 +0300

----------------------------------------------------------------------
 ambari-web/app/app.js                           |   4 +
 ambari-web/app/mappers/stack_service_mapper.js  |   3 +
 ambari-web/app/models/stack_service.js          |   1 +
 .../app/models/stack_service_component.js       |   1 +
 ambari-web/app/views/main/service/item.js       |  13 +-
 .../test/models/stack_service_component_test.js |   4 +-
 ambari-web/test/service_components.js           | 248 ++++++++++++-------
 7 files changed, 182 insertions(+), 92 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/app/app.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/app.js b/ambari-web/app/app.js
index 47aa25b..09c56fe 100644
--- a/ambari-web/app/app.js
+++ b/ambari-web/app/app.js
@@ -130,6 +130,10 @@ module.exports = Em.Application.create({
 
     monitoring: function () {
       return App.StackService.find().filterProperty('isMonitoringService').mapProperty('serviceName');
+    }.property('App.router.clusterController.isLoaded'),
+
+    supportsServiceCheck: function() {
+      return App.StackService.find().filterProperty('serviceCheckSupported').mapProperty('serviceName');
     }.property('App.router.clusterController.isLoaded')
   }),
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/app/mappers/stack_service_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/stack_service_mapper.js b/ambari-web/app/mappers/stack_service_mapper.js
index f7406c9..76f412c 100644
--- a/ambari-web/app/mappers/stack_service_mapper.js
+++ b/ambari-web/app/mappers/stack_service_mapper.js
@@ -31,6 +31,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({
     stack_version: 'stack_version',
     is_selected: 'is_selected',
     is_installed: 'is_installed',
+    service_check_supported: 'service_check_supported',
     service_components_key: 'service_components',
     service_components_type: 'array',
     service_components: {
@@ -42,6 +43,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({
     id: 'component_name',
     component_name: 'component_name',
     cardinality: 'cardinality',
+    custom_commands: 'custom_commands',
     service_name: 'service_name',
     component_category: 'component_category',
     is_master: 'is_master',
@@ -76,6 +78,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({
         item.serviceComponents.forEach(function (serviceComponent) {
           serviceComponent.StackServiceComponents.id = serviceComponent.StackServiceComponents.component_name;
           serviceComponent.StackServiceComponents.dependencies = serviceComponent.dependencies;
+          serviceComponent.StackServiceComponents.custom_commands = serviceComponent.StackServiceComponents.custom_commands;
           serviceComponents.push(serviceComponent.StackServiceComponents);
           stackServiceComponents.push(this.parseIt(serviceComponent.StackServiceComponents, this.get('component_config')));
         }, this);

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/app/models/stack_service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service.js b/ambari-web/app/models/stack_service.js
index 6d9acab..61c89fa 100644
--- a/ambari-web/app/models/stack_service.js
+++ b/ambari-web/app/models/stack_service.js
@@ -40,6 +40,7 @@ App.StackService = DS.Model.extend(App.ServiceModelMixin, {
   comments: DS.attr('string'),
   configTypes: DS.attr('object'),
   serviceVersion: DS.attr('string'),
+  serviceCheckSupported: DS.attr('boolean'),
   stackName: DS.attr('string'),
   stackVersion: DS.attr('string'),
   isSelected: DS.attr('boolean', {defaultValue: true}),

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/app/models/stack_service_component.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service_component.js b/ambari-web/app/models/stack_service_component.js
index a0765ae..3ed366c 100644
--- a/ambari-web/app/models/stack_service_component.js
+++ b/ambari-web/app/models/stack_service_component.js
@@ -25,6 +25,7 @@ var numberUtils = require('utils/number_utils');
 App.StackServiceComponent = DS.Model.extend({
   componentName: DS.attr('string'),
   cardinality: DS.attr('string'),
+  customCommands: DS.attr('array'),
   dependencies: DS.attr('array'),
   serviceName: DS.attr('string'),
   componentCategory: DS.attr('string'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/app/views/main/service/item.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/item.js b/ambari-web/app/views/main/service/item.js
index 67ca75f..258456f 100644
--- a/ambari-web/app/views/main/service/item.js
+++ b/ambari-web/app/views/main/service/item.js
@@ -127,13 +127,13 @@ App.MainServiceItemView = Em.View.extend({
     var allMasters = service.get('hostComponents').filterProperty('isMaster').mapProperty('componentName').uniq();
     var allSlaves = service.get('hostComponents').filterProperty('isSlave').mapProperty('componentName').uniq();
     var actionMap = this.actionMap();
+    var serviceCheckSupported = App.get('services.supportsServiceCheck').contains(service.get('serviceName'));
 
     if (this.get('controller.isClientsOnlyService')) {
-      options.push(actionMap.RUN_SMOKE_TEST);
-      options.push(actionMap.REFRESH_CONFIGS);
-      if (this.get('serviceName') === 'TEZ') {
-        options = options.without(actionMap.RUN_SMOKE_TEST);
+      if (serviceCheckSupported) {
+        options.push(actionMap.RUN_SMOKE_TEST);
       }
+      options.push(actionMap.REFRESH_CONFIGS);
     } else {
       if (this.get('serviceName') === 'FLUME') {
         options.push(actionMap.REFRESH_CONFIGS);
@@ -168,8 +168,9 @@ App.MainServiceItemView = Em.View.extend({
             break;
         }
       }
-
-      options.push(actionMap.RUN_SMOKE_TEST);
+      if (serviceCheckSupported) {
+        options.push(actionMap.RUN_SMOKE_TEST);
+      }
       options.push(actionMap.TOGGLE_PASSIVE);
 
       var serviceName = service.get('serviceName');

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/test/models/stack_service_component_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/stack_service_component_test.js b/ambari-web/test/models/stack_service_component_test.js
index f71f094..483ae7d 100644
--- a/ambari-web/test/models/stack_service_component_test.js
+++ b/ambari-web/test/models/stack_service_component_test.js
@@ -119,8 +119,8 @@ var componentPropertiesValidationTests = [
       maxToInstall: 1,
       isRequired: false,
       isMultipleAllowed: false,
-      isSlave: true,
-      isMaster: false,
+      isSlave: false,
+      isMaster: true,
       isRestartable: true,
       isReassignable: false,
       isDeletable: false,

http://git-wip-us.apache.org/repos/asf/ambari/blob/2e432f3b/ambari-web/test/service_components.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/service_components.js b/ambari-web/test/service_components.js
index 6149835..fe7feca 100644
--- a/ambari-web/test/service_components.js
+++ b/ambari-web/test/service_components.js
@@ -78,9 +78,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FALCON",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FALCON",
       "StackServices" : {
         "comments" : "Data management and processing platform",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "FALCON",
         "service_version" : "0.5.0.2.1",
         "stack_name" : "HDP",
@@ -111,11 +113,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FALCON/components/FALCON_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FALCON/serviceComponents/FALCON_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "FALCON_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "FALCON",
@@ -125,11 +128,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FALCON/components/FALCON_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FALCON/serviceComponents/FALCON_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "FALCON_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "FALCON",
@@ -138,7 +142,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FALCON/components/FALCON_SERVER/dependencies/OOZIE_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FALCON/serviceComponents/FALCON_SERVER/dependencies/OOZIE_CLIENT",
               "Dependencies" : {
                 "component_name" : "OOZIE_CLIENT",
                 "dependent_component_name" : "FALCON_SERVER",
@@ -148,7 +152,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FALCON/components/FALCON_SERVER/dependencies/OOZIE_SERVER",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FALCON/serviceComponents/FALCON_SERVER/dependencies/OOZIE_SERVER",
               "Dependencies" : {
                 "component_name" : "OOZIE_SERVER",
                 "dependent_component_name" : "FALCON_SERVER",
@@ -162,9 +166,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FLUME",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FLUME",
       "StackServices" : {
         "comments" : "Data management and processing platform",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "FLUME",
         "service_version" : "1.4.0.2.1.1.0",
         "stack_name" : "HDP",
@@ -190,11 +196,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/FLUME/components/FLUME_HANDLER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/FLUME/serviceComponents/FLUME_HANDLER",
           "StackServiceComponents" : {
             "cardinality" : "0+",
             "component_category" : "SLAVE",
             "component_name" : "FLUME_HANDLER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "FLUME",
@@ -206,9 +213,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/GANGLIA",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/GANGLIA",
       "StackServices" : {
         "comments" : "Ganglia Metrics Collection system (<a href=\"http://oss.oetiker.ch/rrdtool/\" target=\"_blank\">RRDTool</a> will be installed too)",
+        "custom_commands" : [ ],
+        "service_check_supported" : false,
         "service_name" : "GANGLIA",
         "service_version" : "3.5.0",
         "stack_name" : "HDP",
@@ -224,11 +233,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/GANGLIA/components/GANGLIA_MONITOR",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/GANGLIA/serviceComponents/GANGLIA_MONITOR",
           "StackServiceComponents" : {
             "cardinality" : "ALL",
             "component_category" : "SLAVE",
             "component_name" : "GANGLIA_MONITOR",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "GANGLIA",
@@ -241,11 +251,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/GANGLIA/components/GANGLIA_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/GANGLIA/serviceComponents/GANGLIA_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "GANGLIA_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "GANGLIA",
@@ -257,9 +268,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE",
       "StackServices" : {
         "comments" : "Non-relational distributed database and centralized service for configuration management &\n        synchronization\n      ",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "HBASE",
         "service_version" : "0.98.0.2.1",
         "stack_name" : "HDP",
@@ -290,11 +303,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE/components/HBASE_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/serviceComponents/HBASE_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "HBASE_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "HBASE",
@@ -304,11 +318,14 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE/components/HBASE_MASTER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/serviceComponents/HBASE_MASTER",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "MASTER",
             "component_name" : "HBASE_MASTER",
+            "custom_commands" : [
+              "DECOMMISSION"
+            ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HBASE",
@@ -317,7 +334,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE/components/HBASE_MASTER/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/serviceComponents/HBASE_MASTER/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "HBASE_MASTER",
@@ -327,7 +344,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE/components/HBASE_MASTER/dependencies/ZOOKEEPER_SERVER",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/serviceComponents/HBASE_MASTER/dependencies/ZOOKEEPER_SERVER",
               "Dependencies" : {
                 "component_name" : "ZOOKEEPER_SERVER",
                 "dependent_component_name" : "HBASE_MASTER",
@@ -339,11 +356,12 @@ module.exports = {
           ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HBASE/components/HBASE_REGIONSERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HBASE/serviceComponents/HBASE_REGIONSERVER",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "SLAVE",
             "component_name" : "HBASE_REGIONSERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "HBASE",
@@ -355,9 +373,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HCATALOG",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HCATALOG",
       "StackServices" : {
         "comments" : "This is comment for HCATALOG service",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "HCATALOG",
         "service_version" : "0.12.0.2.1",
         "stack_name" : "HDP",
@@ -378,11 +398,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HCATALOG/components/HCAT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HCATALOG/serviceComponents/HCAT",
           "StackServiceComponents" : {
             "cardinality" : null,
             "component_category" : "CLIENT",
             "component_name" : "HCAT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "HCATALOG",
@@ -394,9 +415,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS",
       "StackServices" : {
         "comments" : "Apache Hadoop Distributed File System",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "HDFS",
         "service_version" : "2.4.0.2.1",
         "stack_name" : "HDP",
@@ -432,11 +455,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/DATANODE",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/DATANODE",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "SLAVE",
             "component_name" : "DATANODE",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "HDFS",
@@ -446,11 +470,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/HDFS_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/HDFS_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "HDFS_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "HDFS",
@@ -460,11 +485,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/JOURNALNODE",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/JOURNALNODE",
           "StackServiceComponents" : {
             "cardinality" : "0+",
             "component_category" : "SLAVE",
             "component_name" : "JOURNALNODE",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "HDFS",
@@ -474,11 +500,14 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/NAMENODE",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/NAMENODE",
           "StackServiceComponents" : {
             "cardinality" : "1-2",
             "component_category" : "MASTER",
             "component_name" : "NAMENODE",
+            "custom_commands" : [
+              "DECOMMISSION"
+            ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HDFS",
@@ -488,11 +517,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/SECONDARY_NAMENODE",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/SECONDARY_NAMENODE",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "SECONDARY_NAMENODE",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HDFS",
@@ -502,11 +532,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HDFS/components/ZKFC",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HDFS/serviceComponents/ZKFC",
           "StackServiceComponents" : {
             "cardinality" : "0+",
             "component_category" : "SLAVE",
             "component_name" : "ZKFC",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "HDFS",
@@ -518,9 +549,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE",
       "StackServices" : {
         "comments" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "HIVE",
         "service_version" : "0.13.0.2.1",
         "stack_name" : "HDP",
@@ -556,11 +589,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "HIVE_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "HIVE",
@@ -570,11 +604,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_METASTORE",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_METASTORE",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "HIVE_METASTORE",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HIVE",
@@ -588,11 +623,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "HIVE_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HIVE",
@@ -601,7 +637,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_SERVER/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_SERVER/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "HIVE_SERVER",
@@ -611,7 +647,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_SERVER/dependencies/TEZ_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_SERVER/dependencies/TEZ_CLIENT",
               "Dependencies" : {
                 "component_name" : "TEZ_CLIENT",
                 "dependent_component_name" : "HIVE_SERVER",
@@ -621,7 +657,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_SERVER/dependencies/YARN_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_SERVER/dependencies/YARN_CLIENT",
               "Dependencies" : {
                 "component_name" : "YARN_CLIENT",
                 "dependent_component_name" : "HIVE_SERVER",
@@ -631,7 +667,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/HIVE_SERVER/dependencies/ZOOKEEPER_SERVER",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/HIVE_SERVER/dependencies/ZOOKEEPER_SERVER",
               "Dependencies" : {
                 "component_name" : "ZOOKEEPER_SERVER",
                 "dependent_component_name" : "HIVE_SERVER",
@@ -643,11 +679,12 @@ module.exports = {
           ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/HIVE/components/MYSQL_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/HIVE/serviceComponents/MYSQL_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "0-1",
             "component_category" : "MASTER",
             "component_name" : "MYSQL_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "HIVE",
@@ -659,9 +696,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/MAPREDUCE2",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/MAPREDUCE2",
       "StackServices" : {
         "comments" : "Apache Hadoop NextGen MapReduce (YARN)",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "MAPREDUCE2",
         "service_version" : "2.1.0.2.0.6.0",
         "stack_name" : "HDP",
@@ -692,11 +731,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/MAPREDUCE2/components/HISTORYSERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/MAPREDUCE2/serviceComponents/HISTORYSERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "HISTORYSERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "MAPREDUCE2",
@@ -709,7 +749,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/MAPREDUCE2/components/HISTORYSERVER/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/MAPREDUCE2/serviceComponents/HISTORYSERVER/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "HISTORYSERVER",
@@ -721,11 +761,12 @@ module.exports = {
           ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/MAPREDUCE2/components/MAPREDUCE2_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/MAPREDUCE2/serviceComponents/MAPREDUCE2_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "0+",
             "component_category" : "CLIENT",
             "component_name" : "MAPREDUCE2_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "MAPREDUCE2",
@@ -737,9 +778,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS",
       "StackServices" : {
         "comments" : "Nagios Monitoring and Alerting system",
+        "custom_commands" : [ ],
+        "service_check_supported" : false,
         "service_name" : "NAGIOS",
         "service_version" : "3.5.0",
         "stack_name" : "HDP",
@@ -755,11 +798,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "NAGIOS_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "NAGIOS",
@@ -768,7 +812,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/HCAT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/HCAT",
               "Dependencies" : {
                 "component_name" : "HCAT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -778,7 +822,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -788,7 +832,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -798,7 +842,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/OOZIE_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/OOZIE_CLIENT",
               "Dependencies" : {
                 "component_name" : "OOZIE_CLIENT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -808,7 +852,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/TEZ_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/TEZ_CLIENT",
               "Dependencies" : {
                 "component_name" : "TEZ_CLIENT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -818,7 +862,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/NAGIOS/components/NAGIOS_SERVER/dependencies/YARN_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/NAGIOS/serviceComponents/NAGIOS_SERVER/dependencies/YARN_CLIENT",
               "Dependencies" : {
                 "component_name" : "YARN_CLIENT",
                 "dependent_component_name" : "NAGIOS_SERVER",
@@ -832,9 +876,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE",
       "StackServices" : {
         "comments" : "System for workflow coordination and execution of Apache Hadoop jobs.  This also includes the installation of the optional Oozie Web Console which relies on and will install the <a target=\"_blank\" href=\"http://www.sencha.com/legal/open-source-faq/\">ExtJS</a> Library.\n      ",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "OOZIE",
         "service_version" : "4.0.0.2.1",
         "stack_name" : "HDP",
@@ -865,11 +911,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "OOZIE_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "OOZIE",
@@ -878,7 +925,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_CLIENT/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_CLIENT/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "OOZIE_CLIENT",
@@ -888,7 +935,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_CLIENT/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_CLIENT/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "OOZIE_CLIENT",
@@ -900,11 +947,12 @@ module.exports = {
           ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "OOZIE_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "OOZIE",
@@ -913,7 +961,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_SERVER/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_SERVER/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "OOZIE_SERVER",
@@ -923,7 +971,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_SERVER/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_SERVER/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "OOZIE_SERVER",
@@ -933,7 +981,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/OOZIE/components/OOZIE_SERVER/dependencies/YARN_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/OOZIE/serviceComponents/OOZIE_SERVER/dependencies/YARN_CLIENT",
               "Dependencies" : {
                 "component_name" : "YARN_CLIENT",
                 "dependent_component_name" : "OOZIE_SERVER",
@@ -947,9 +995,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/PIG",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/PIG",
       "StackServices" : {
         "comments" : "Scripting platform for analyzing large datasets",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "PIG",
         "service_version" : "0.12.1.2.1",
         "stack_name" : "HDP",
@@ -975,11 +1025,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/PIG/components/PIG",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/PIG/serviceComponents/PIG",
           "StackServiceComponents" : {
             "cardinality" : "0+",
             "component_category" : "CLIENT",
             "component_name" : "PIG",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "PIG",
@@ -991,9 +1042,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/SQOOP",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/SQOOP",
       "StackServices" : {
         "comments" : "Tool for transferring bulk data between Apache Hadoop and\n        structured data stores such as relational databases\n      ",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "SQOOP",
         "service_version" : "1.4.4.2.1",
         "stack_name" : "HDP",
@@ -1009,11 +1062,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/SQOOP/components/SQOOP",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/SQOOP/serviceComponents/SQOOP",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "SQOOP",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "SQOOP",
@@ -1022,7 +1076,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/SQOOP/components/SQOOP/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/SQOOP/serviceComponents/SQOOP/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "SQOOP",
@@ -1032,7 +1086,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/SQOOP/components/SQOOP/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/SQOOP/serviceComponents/SQOOP/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "SQOOP",
@@ -1046,9 +1100,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM",
       "StackServices" : {
         "comments" : "Apache Hadoop Stream processing framework",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "STORM",
         "service_version" : "0.9.1.2.1",
         "stack_name" : "HDP",
@@ -1069,11 +1125,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/DRPC_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/DRPC_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "DRPC_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "STORM",
@@ -1083,11 +1140,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/NIMBUS",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/NIMBUS",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "NIMBUS",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "STORM",
@@ -1096,7 +1154,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/NIMBUS/dependencies/ZOOKEEPER_SERVER",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/NIMBUS/dependencies/ZOOKEEPER_SERVER",
               "Dependencies" : {
                 "component_name" : "ZOOKEEPER_SERVER",
                 "dependent_component_name" : "NIMBUS",
@@ -1108,11 +1166,12 @@ module.exports = {
           ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/STORM_REST_API",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/STORM_REST_API",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "STORM_REST_API",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "STORM",
@@ -1122,11 +1181,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/STORM_UI_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/STORM_UI_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "STORM_UI_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "STORM",
@@ -1136,11 +1196,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/STORM/components/SUPERVISOR",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/STORM/serviceComponents/SUPERVISOR",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "SLAVE",
             "component_name" : "SUPERVISOR",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "STORM",
@@ -1152,9 +1213,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/TEZ",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/TEZ",
       "StackServices" : {
         "comments" : "Tez is the next generation Hadoop Query Processing framework written on top of YARN.",
+        "custom_commands" : [ ],
+        "service_check_supported" : false,
         "service_name" : "TEZ",
         "service_version" : "0.4.0.2.1",
         "stack_name" : "HDP",
@@ -1175,11 +1238,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/TEZ/components/TEZ_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/TEZ/serviceComponents/TEZ_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "TEZ_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "TEZ",
@@ -1191,9 +1255,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT",
       "StackServices" : {
         "comments" : "This is comment for WEBHCAT service",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "WEBHCAT",
         "service_version" : "0.13.0.2.1",
         "stack_name" : "HDP",
@@ -1214,11 +1280,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1",
             "component_category" : "MASTER",
             "component_name" : "WEBHCAT_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "WEBHCAT",
@@ -1227,7 +1294,7 @@ module.exports = {
           },
           "dependencies" : [
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER/dependencies/HDFS_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER/dependencies/HDFS_CLIENT",
               "Dependencies" : {
                 "component_name" : "HDFS_CLIENT",
                 "dependent_component_name" : "WEBHCAT_SERVER",
@@ -1237,7 +1304,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER/dependencies/MAPREDUCE2_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER/dependencies/MAPREDUCE2_CLIENT",
               "Dependencies" : {
                 "component_name" : "MAPREDUCE2_CLIENT",
                 "dependent_component_name" : "WEBHCAT_SERVER",
@@ -1247,7 +1314,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER/dependencies/YARN_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER/dependencies/YARN_CLIENT",
               "Dependencies" : {
                 "component_name" : "YARN_CLIENT",
                 "dependent_component_name" : "WEBHCAT_SERVER",
@@ -1257,7 +1324,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER/dependencies/ZOOKEEPER_CLIENT",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER/dependencies/ZOOKEEPER_CLIENT",
               "Dependencies" : {
                 "component_name" : "ZOOKEEPER_CLIENT",
                 "dependent_component_name" : "WEBHCAT_SERVER",
@@ -1267,7 +1334,7 @@ module.exports = {
               }
             },
             {
-              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/WEBHCAT/components/WEBHCAT_SERVER/dependencies/ZOOKEEPER_SERVER",
+              "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/WEBHCAT/serviceComponents/WEBHCAT_SERVER/dependencies/ZOOKEEPER_SERVER",
               "Dependencies" : {
                 "component_name" : "ZOOKEEPER_SERVER",
                 "dependent_component_name" : "WEBHCAT_SERVER",
@@ -1281,9 +1348,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/YARN",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/YARN",
       "StackServices" : {
         "comments" : "Apache Hadoop NextGen MapReduce (YARN)",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "YARN",
         "service_version" : "2.4.0.2.1",
         "stack_name" : "HDP",
@@ -1319,11 +1388,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/YARN/components/APP_TIMELINE_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/YARN/serviceComponents/APP_TIMELINE_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "0-1",
             "component_category" : "MASTER",
             "component_name" : "APP_TIMELINE_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "YARN",
@@ -1333,11 +1403,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/YARN/components/NODEMANAGER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/YARN/serviceComponents/NODEMANAGER",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "SLAVE",
             "component_name" : "NODEMANAGER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : false,
             "service_name" : "YARN",
@@ -1347,11 +1418,15 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/YARN/components/RESOURCEMANAGER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/YARN/serviceComponents/RESOURCEMANAGER",
           "StackServiceComponents" : {
             "cardinality" : "1-2",
             "component_category" : "MASTER",
             "component_name" : "RESOURCEMANAGER",
+            "custom_commands" : [
+              "DECOMMISSION",
+              "REFRESHQUEUES"
+            ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "YARN",
@@ -1361,11 +1436,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/YARN/components/YARN_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/YARN/serviceComponents/YARN_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "YARN_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "YARN",
@@ -1377,9 +1453,11 @@ module.exports = {
       ]
     },
     {
-      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/ZOOKEEPER",
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/ZOOKEEPER",
       "StackServices" : {
         "comments" : "Centralized service which provides highly reliable distributed\n        coordination.",
+        "custom_commands" : [ ],
+        "service_check_supported" : true,
         "service_name" : "ZOOKEEPER",
         "service_version" : "3.4.5.2.1",
         "stack_name" : "HDP",
@@ -1405,11 +1483,12 @@ module.exports = {
       },
       "serviceComponents" : [
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/ZOOKEEPER/components/ZOOKEEPER_CLIENT",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/ZOOKEEPER/serviceComponents/ZOOKEEPER_CLIENT",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "CLIENT",
             "component_name" : "ZOOKEEPER_CLIENT",
+            "custom_commands" : [ ],
             "is_client" : true,
             "is_master" : false,
             "service_name" : "ZOOKEEPER",
@@ -1419,11 +1498,12 @@ module.exports = {
           "dependencies" : [ ]
         },
         {
-          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.1/services/ZOOKEEPER/components/ZOOKEEPER_SERVER",
+          "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks2/HDP/versions/2.1/stackServices/ZOOKEEPER/serviceComponents/ZOOKEEPER_SERVER",
           "StackServiceComponents" : {
             "cardinality" : "1+",
             "component_category" : "MASTER",
             "component_name" : "ZOOKEEPER_SERVER",
+            "custom_commands" : [ ],
             "is_client" : false,
             "is_master" : true,
             "service_name" : "ZOOKEEPER",