You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/09/22 13:53:23 UTC

[2/2] ambari git commit: AMBARI-13182 Show hostname for a component as the first element of a category on service config page. (ababiichuk)

AMBARI-13182 Show hostname for a component as the first element of a category on service config page. (ababiichuk)


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

Branch: refs/heads/branch-2.1
Commit: e31174837ab3fc8ed41ce6ee592fb6a59e1f14ff
Parents: 6f859fa
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Mon Sep 14 11:40:26 2015 +0300
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Tue Sep 22 14:53:10 2015 +0300

----------------------------------------------------------------------
 .../controllers/main/service/info/configs.js    |  70 +--
 ambari-web/app/controllers/wizard.js            |   3 +-
 .../app/controllers/wizard/step7_controller.js  |   2 +-
 ambari-web/app/data/BIGTOP/site_properties.js   | 579 +-----------------
 ambari-web/app/data/HDP2.2/site_properties.js   |  29 +-
 ambari-web/app/data/HDP2.3/site_properties.js   |  16 +-
 ambari-web/app/data/HDP2/site_properties.js     | 585 +------------------
 ambari-web/app/data/host_component_mapping.js   | 142 -----
 .../app/mixins/common/configs/configs_saver.js  | 117 ----
 .../configs/objects/service_config_property.js  |  15 +-
 ambari-web/app/models/stack_service.js          |  48 +-
 .../app/templates/wizard/component_hosts.hbs    |  27 +
 .../templates/wizard/component_hosts_popup.hbs  |  23 +
 .../app/templates/wizard/master_hosts.hbs       |  27 -
 .../app/templates/wizard/master_hosts_popup.hbs |  23 -
 ambari-web/app/templates/wizard/slave_hosts.hbs |  27 -
 ambari-web/app/utils/config.js                  |  94 +--
 .../app/utils/configs/config_property_helper.js | 119 +---
 ambari-web/app/utils/configs/database.js        |   4 +-
 ambari-web/app/views/common/controls_view.js    |  49 +-
 .../main/service/info/config_test.js            |  97 ---
 .../test/controllers/wizard/step7_test.js       |   2 +-
 .../test/mock_data_setup/configs_mock_data.js   |   2 +-
 .../objects/service_config_property_test.js     |  14 +-
 ambari-web/test/utils/config_test.js            |  87 +--
 .../configs/config_property_helper_test.js      |  21 +-
 .../test/views/common/controls_view_test.js     |   6 +-
 27 files changed, 236 insertions(+), 1992 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index a8175b0..937d093 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -389,7 +389,6 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
 
     this.set('allConfigs', configs);
     //add configs as names of host components
-    this.addHostNamesToConfig();
     this.addDBProperties(configs);
   },
 
@@ -484,12 +483,11 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
       var serviceNames = [ serviceName ];
       if(serviceName === 'OOZIE') {
         // For Oozie, also add ELService properties which are marked as FALCON properties.
-        serviceNames.push('FALCON')
+        serviceNames.push('FALCON');
       }
       var configsByService = this.get('allConfigs').filter(function (c) {
         return serviceNames.contains(c.get('serviceName'));
       });
-      //databaseUtils.bootstrapDatabaseProperties(configsByService, serviceName);
       var serviceConfig = App.config.createServiceConfig(serviceName, configGroups, configsByService, configsByService.length);
       if (serviceConfig.get('serviceName') === 'HDFS') {
         if (App.get('isHaEnabled')) {
@@ -499,7 +497,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
           serviceConfig.configs = c;
         }
       }
-
+      this.addHostNamesToConfigs(serviceConfig);
       this.get('stepConfigs').pushObject(serviceConfig);
     }, this);
 
@@ -577,65 +575,21 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
   },
 
   /**
-   * Adds host name of master component to config
-   * @private
-   * @method addHostNamesToGlobalConfig
+   *
+   * @param serviceConfig
    */
-  addHostNamesToConfig: function () {
-    var serviceName = this.get('content.serviceName');
-    var hostComponentMapping = require('data/host_component_mapping');
-    //namenode_host is required to derive "fs.default.name" a property of core-site
-    try {
-      this.setHostForService('HDFS', 'NAMENODE', 'namenode_host', true);
-    } catch (err) {
-      console.log("No NameNode Host available.  This is expected if you're using GLUSTERFS rather than HDFS.");
-    }
-
-    var hostProperties = hostComponentMapping.filter(function (h) {
-      return h.serviceUseThis.contains(serviceName) || h.serviceName == serviceName;
-    });
-    hostProperties.forEach(function (h) {
-      this.setHostForService(h.serviceName, h.componentName, h.hostProperty, h.m);
+  addHostNamesToConfigs: function(serviceConfig) {
+    serviceConfig.get('configCategories').forEach(function(c) {
+      if (c.showHost) {
+        var stackComponent = App.StackServiceComponent.find(c.name);
+        var component = stackComponent.get('isMaster') ? App.MasterComponent.find(c.name) : App.SlaveComponent.find(c.name);
+        var hProperty = App.config.createHostNameProperty(serviceConfig.get('serviceName'), c.name, component.get('hostNames') || [], stackComponent);
+        serviceConfig.get('configs').push(App.ServiceConfigProperty.create(hProperty));
+      }
     }, this);
   },
 
   /**
-   * set host name(s) property for component
-   * @param {String} serviceName - service name of component
-   * @param {String} componentName - component name which host we want to know
-   * @param {String} hostProperty - name of host property for current component
-   * @param {Boolean} multiple - true if can be more than one component
-   * @private
-   * @method setHostForService
-   */
-  setHostForService: function (serviceName, componentName, hostProperty, multiple) {
-    var configs = this.get('allConfigs');
-    var serviceConfigs = this.get('serviceConfigs').findProperty('serviceName', serviceName).get('configs');
-    var hostConfig = serviceConfigs.findProperty('name', hostProperty);
-    if (hostConfig) {
-      hostConfig.recommendedValue = this.getMasterComponentHostValue(componentName, multiple);
-      configs.push(App.ServiceConfigProperty.create(hostConfig));
-    }
-  },
-
-  /**
-   * get hostName of component
-   * @param {String} componentName
-   * @param {Boolean} multiple - true if can be more than one component installed on cluster
-   * @return {String|Array|Boolean} hostName|hostNames|false if missing component
-   * @private
-   * @method getMasterComponentHostValue
-   */
-  getMasterComponentHostValue: function (componentName, multiple) {
-    var components = App.HostComponent.find().filterProperty('componentName', componentName);
-  
-    if (components.length > 0) {
-      return multiple ? components.mapProperty('hostName') : components[0].get('hostName');
-    }
-    return false;
-  },
-
-  /**
    * Trigger loadSelectedVersion
    * @method doCancel
    */

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index 958510f..fb6bd44 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -859,7 +859,6 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
     var fileNamesToUpdate = this.getDBProperty('fileNamesToUpdate') || [];
     var installedServiceNames = stepController.get('installedServiceNames') || [];
     var installedServiceNamesMap = {};
-    var notAllowed = ['masterHost', 'masterHosts', 'slaveHosts', 'slaveHost'];
     installedServiceNames.forEach(function(name) {
       installedServiceNamesMap[name] = true;
     });
@@ -888,7 +887,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
         // get only modified configs
         var configs = _content.get('configs').filter(function (config) {
           if (config.get('isNotDefaultValue') || (config.get('savedValue') === null)) {
-            return !notAllowed.contains(config.get('displayType')) && !!config.filename && config.isRequiredByAgent!== false;
+            return config.isRequiredByAgent!== false;
           }
           return false;
         });

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/controllers/wizard/step7_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js
index b40a0fb..0f62b3a 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -1160,7 +1160,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
    * @method getAmbariDatabaseSuccess
    */
   getAmbariDatabaseSuccess: function (data) {
-    var hiveDBHostname = this.get('stepConfigs').findProperty('serviceName', 'HIVE').configs.findProperty('name', 'hive_ambari_host').value;
+    var hiveDBHostname = this.get('stepConfigs').findProperty('serviceName', 'HIVE').configs.findProperty('name', 'hive_hostname').value;
     var ambariServiceHostComponents = data.hostComponents;
     if (!!ambariServiceHostComponents.length) {
       var ambariDBInfo = JSON.stringify(ambariServiceHostComponents[0].RootServiceHostComponents.properties);

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/data/BIGTOP/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/BIGTOP/site_properties.js b/ambari-web/app/data/BIGTOP/site_properties.js
index 93262ca..6799449 100644
--- a/ambari-web/app/data/BIGTOP/site_properties.js
+++ b/ambari-web/app/data/BIGTOP/site_properties.js
@@ -804,7 +804,7 @@ module.exports =
     {
       "name": "storm.zookeeper.servers",
       "displayName": "storm.zookeeper.servers",
-      "displayType": "masterHosts",
+      "displayType": "componentHosts",
       "isOverridable": false,
       "isReconfigurable": false,
       "serviceName": "STORM",
@@ -1554,21 +1554,6 @@ module.exports =
     },
   /**********************************************HDFS***************************************/
     {
-      "name": "namenode_host",
-      "displayName": "NameNode hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The hosts that has been assigned to run NameNode",
-      "displayType": "masterHosts",
-      "isOverridable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "HDFS",
-      "filename": "hadoop-env.xml",
-      "category": "NAMENODE",
-      "index": 0
-    },
-    {
       "name": "namenode_heapsize",
       "displayName": "NameNode Java heap size",
       "description": "Initial and maximum Java heap size for NameNode (Java options -Xms and -Xmx).  This also applies to the Secondary NameNode.",
@@ -1639,37 +1624,6 @@ module.exports =
       "index": 6
     },
     {
-      "name": "snamenode_host",
-      "displayName": "SNameNode host",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The host that has been assigned to run SecondaryNameNode",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "HDFS",
-      "filename": "hadoop-env.xml",
-      "category": "SECONDARY_NAMENODE",
-      "index": 0
-    },
-    {
-      "name": "datanode_hosts", //not in the schema. For UI purpose
-      "displayName": "DataNode hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The hosts that have been assigned to run DataNode",
-      "displayType": "slaveHosts",
-      "isRequired": false,
-      "isOverridable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "HDFS",
-      "filename": "hadoop-env.xml",
-      "category": "DATANODE",
-      "index": 0
-    },
-    {
       "name": "dtnode_heapsize",
       "displayName": "DataNode maximum Java heap size",
       "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
@@ -1736,20 +1690,6 @@ module.exports =
 
   /**********************************************MAPREDUCE2***************************************/
     {
-      "name": "hs_host",
-      "displayName": "History Server",
-      "description": "History Server",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "masterHost",
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "MAPREDUCE2",
-      "filename": "mapred-env.xml",
-      "category": "HISTORYSERVER",
-      "index": 0
-    },
-    {
       "name": "jobhistory_heapsize",
       "displayName": "History Server heap size",
       "description": "History Server heap size",
@@ -1805,20 +1745,6 @@ module.exports =
       "index": 0
     },
     {
-      "name": "rm_host",
-      "displayName": "ResourceManager",
-      "description": "ResourceManager",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "masterHost",
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "YARN",
-      "filename": "yarn-env.xml",
-      "category": "RESOURCEMANAGER",
-      "index": 0
-    },
-    {
       "name": "resourcemanager_heapsize",
       "displayName": "ResourceManager Java heap size",
       "description": "Max heapsize for ResourceManager",
@@ -1833,20 +1759,6 @@ module.exports =
       "index": 1
     },
     {
-      "name": "nm_hosts",
-      "displayName": "NodeManager",
-      "description": "List of NodeManager Hosts.",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "slaveHosts",
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "YARN",
-      "filename": "yarn-env.xml",
-      "category": "NODEMANAGER",
-      "index": 0
-    },
-    {
       "name": "nodemanager_heapsize",
       "displayName": "NodeManager Java heap size",
       "description": "Max heapsize for NodeManager",
@@ -1897,20 +1809,6 @@ module.exports =
       "category": "Advanced yarn-env"
     },
     {
-      "name": "ats_host",
-      "displayName": "App Timeline Server",
-      "description": "Application Timeline Server Host",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "masterHost",
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "YARN",
-      "filename": "yarn-env.xml",
-      "category": "APP_TIMELINE_SERVER",
-      "index": 0
-    },
-    {
       "name": "apptimelineserver_heapsize",
       "displayName": "AppTimelineServer Java heap size",
       "description": "AppTimelineServer Java heap size",
@@ -1926,21 +1824,6 @@ module.exports =
     },
   /**********************************************HBASE***************************************/
     {
-      "name": "hbasemaster_host",
-      "displayName": "HBase Master hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The host that has been assigned to run HBase Master",
-      "displayType": "masterHosts",
-      "isOverridable": false,
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "HBASE",
-      "filename": "hbase-env.xml",
-      "category": "HBASE_MASTER",
-      "index": 0
-    },
-    {
       "name": "hbase_master_heapsize",
       "displayName": "HBase Master Maximum Java heap size",
       "description": "Maximum Java heap size for HBase master (Java option -Xmx)",
@@ -1955,22 +1838,6 @@ module.exports =
       "index": 1
     },
     {
-      "name": "regionserver_hosts",
-      "displayName": "RegionServer hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The hosts that have been assigned to run RegionServer",
-      "displayType": "slaveHosts",
-      "isOverridable": false,
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "isRequired": false,
-      "serviceName": "HBASE",
-      "filename": "hbase-env.xml",
-      "category": "HBASE_REGIONSERVER",
-      "index": 0
-    },
-    {
       "name": "hbase_regionserver_heapsize",
       "displayName": "RegionServers maximum Java heap size",
       "description": "Maximum Java heap size for RegionServers (Java option -Xmx)",
@@ -2197,142 +2064,24 @@ module.exports =
       "filename": "hadoop-env.xml",
       "category": "General Hadoop"
     },
-    {
-      "name": "namenode_host",
-      "displayName": "NameNode Host",
-      "description": "NameNode Host.",
-      "recommendedValue": "",
-      "displayType": "string",
-      "isVisible": false,
-      "serviceName": "GLUSTERFS",
-      "filename": "hadoop-env.xml",
-      "category": "General Hadoop"
-    },
-    {
-      "name": "snamenode_host",
-      "displayName": "Secondary NameNode Host",
-      "description": "Secondary NameNode Host.",
-      "recommendedValue": "",
-      "displayType": "string",
-      "isVisible": false,
-      "serviceName": "GLUSTERFS",
-      "filename": "hadoop-env.xml",
-      "category": "General Hadoop"
-    },
   /**********************************************HIVE***************************************/
     {
-      "name": "hivemetastore_host",
-      "displayName": "Hive Metastore hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The hosts that have been assigned to run Hive Metastore",
-      "displayType": "masterHosts",
-      "isOverridable": false,
-      "isRequiredByAgent": false,
-      "isVisible": true,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 0
-    },
-    {
-      "name": "hive_master_hosts",
-      "value": "",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "isRequiredByAgent": false,
-      "isVisible": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml"
-    },
-    // for existing MySQL
-    {
-      "name": "hive_existing_mysql_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "MySQL",
-      "description": "Using an existing MySQL database for Hive Metastore",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "isReconfigurable": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 1
-    },
-    // for existing PostgreSQL
-    {
-      "name": "hive_existing_postgresql_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "PostgreSQL",
-      "description": "Using an existing PostgreSQL database for Hive Metastore",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "isReconfigurable": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 1
-    },
-    // for existing Oracle
-    {
-      "name": "hive_existing_oracle_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "Oracle",
-      "description": "Using an existing Oracle database for Hive Metastore",
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "isOverridable": false,
-      "isReconfigurable": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 1
-    },
-    // for new PostgreSQL
-    {
-      "name": "hive_ambari_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "PostgreSQL",
-      "description": "PostgreSQL will be installed by Ambari",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 1
-    },
-    {
       "name": "hive_database",
       "displayName": "Hive Database",
       "value": "",
       "recommendedValue": "New PostgreSQL Database",
       "options": [
         {
-          displayName: 'New PostgreSQL Database',
-          foreignKeys: ['hive_ambari_database', 'hive_ambari_host']
+          displayName: 'New PostgreSQL Database'
         },
         {
-          displayName: 'Existing MySQL Database',
-          foreignKeys: ['hive_existing_mysql_database', 'hive_existing_mysql_host']
+          displayName: 'Existing MySQL Database'
         },
         {
-          displayName: 'Existing PostgreSQL Database',
-          foreignKeys: ['hive_existing_postgresql_database', 'hive_existing_postgresql_host']
+          displayName: 'Existing PostgreSQL Database'
         },
         {
-          displayName: 'Existing Oracle Database',
-          foreignKeys: ['hive_existing_oracle_database', 'hive_existing_oracle_host']
+          displayName: 'Existing Oracle Database'
         }
       ],
       "description": "PostgreSQL will be installed by Ambari",
@@ -2363,64 +2112,6 @@ module.exports =
       "index": 3
     },
     {
-      "name": "hive_existing_mysql_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "displayType": "host",
-      "isOverridable": false,
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 3
-    },
-    {
-      "name": "hive_existing_postgresql_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "displayType": "host",
-      "isOverridable": false,
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 3
-    },
-    {
-      "name": "hive_existing_oracle_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "displayType": "host",
-      "isOverridable": false,
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 3
-    },
-    {
-      "name": "hive_ambari_host",
-      "value": "",
-      "recommendedValue": "",
-      "displayName": "Database Host",
-      "description": "Host on which the database will be created by Ambari",
-      "isReconfigurable": false,
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 3
-    },
-    {
       "name": "hive_metastore_port",
       "displayName": "Hive metastore port",
       "description": "",
@@ -2487,20 +2178,6 @@ module.exports =
     },
   /**********************************************HIVE***************************************/
     {
-      "name": "webhcatserver_host",
-      "displayName": "WebHCat Server host",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The host that has been assigned to run WebHCat Server",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "HIVE",
-      "filename": "webhcat-env.xml",
-      "category": "WEBHCAT_SERVER"
-    },
-    {
       "name": "hcat_log_dir",
       "displayName": "WebHCat Log Dir",
       "description": "Directory for WebHCat log files",
@@ -2528,121 +2205,22 @@ module.exports =
     },
   /**********************************************OOZIE***************************************/
     {
-      "name": "oozieserver_host",
-      "displayName": "Oozie Server host",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The hosts that have been assigned to run Oozie Server",
-      "displayType": "masterHosts",
-      "isOverridable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 0
-    },
-    // for existing Oracle
-    {
-      "name": "oozie_existing_oracle_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "Oracle",
-      "description": "Using an existing Oracle database for Oozie Metastore",
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isObserved": true,
-      "isReconfigurable": false,
-      "isOverridable": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 1
-    },
-    // for existing PostgreSQL
-    {
-      "name": "oozie_existing_postgresql_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "PostgreSQL",
-      "description": "Using an existing PostgreSQL database for Oozie Metastore",
-      "displayType": "masterHost",
-      "isOverridable": false,
-      "isVisible": false,
-      "isReconfigurable": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 1
-    },
-    // for new MySQL
-    {
-      "name": "oozie_ambari_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "MySQL",
-      "description": "MySQL will be installed by Ambari",
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isOverridable": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 1
-    },
-    // for current derby
-    {
-      "name": "oozie_derby_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "Derby",
-      "description": "Using current Derby database for Oozie Metastore",
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isReconfigurable": false,
-      "isOverridable": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 1
-    },
-    // for existing MySQL oozie
-    {
-      "name": "oozie_existing_mysql_database",
-      "displayName": "Database Type",
-      "value": "",
-      "recommendedValue": "MySQL",
-      "description": "Using an existing MySQL database for Oozie Metastore",
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isReconfigurable": false,
-      "isOverridable": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 1
-    },
-    {
       "name": "oozie_database",
       "displayName": "Oozie Database",
       "value": "",
       "recommendedValue": "New Derby Database",
       "options": [
         {
-          displayName: 'New Derby Database',
-          foreignKeys: ['oozie_derby_database']
+          displayName: 'New Derby Database'
         },
         {
-          displayName: 'Existing MySQL Database',
-          foreignKeys: ['oozie_existing_mysql_database', 'oozie_existing_mysql_host']
+          displayName: 'Existing MySQL Database'
         },
         {
-          displayName: 'Existing PostgreSQL Database',
-          foreignKeys: ['oozie_existing_postgresql_database', 'oozie_existing_postgresql_host']
+          displayName: 'Existing PostgreSQL Database'
         },
         {
-          displayName: 'Existing Oracle Database',
-          foreignKeys: ['oozie_existing_oracle_database', 'oozie_existing_oracle_host']
+          displayName: 'Existing Oracle Database'
         }
       ],
       "description": "Current Derby Database will be installed by Ambari",
@@ -2687,63 +2265,6 @@ module.exports =
       "index": 3
     },
     {
-      "name": "oozie_existing_mysql_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "host",
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 3
-    },
-    {
-      "name": "oozie_existing_postgresql_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "host",
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 3
-    },
-    {
-      "name": "oozie_existing_oracle_host",
-      "displayName": "Database Host",
-      "description": "Specify the host on which the existing database is hosted",
-      "recommendedValue": "",
-      "isOverridable": false,
-      "displayType": "host",
-      "isVisible": false,
-      "isObserved": true,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 3
-    },
-    {
-      "name": "oozie_ambari_host",
-      "value": "",
-      "recommendedValue": "",
-      "displayName": "Database Host",
-      "description": "Host on which the database will be created by Ambari",
-      "isReconfigurable": false,
-      "isOverridable": false,
-      "displayType": "masterHost",
-      "isVisible": false,
-      "isRequiredByAgent": false,
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER"
-    },
-    {
       "name": "oozie_log_dir",
       "displayName": "Oozie Log Dir",
       "description": "Directory for oozie logs",
@@ -2782,22 +2303,6 @@ module.exports =
     },
   /**********************************************ZOOKEEPER***************************************/
     {
-      "name": "zookeeperserver_hosts",
-      "displayName": "ZooKeeper Server hosts",
-      "value": "",
-      "recommendedValue": "",
-      "description": "The host that has been assigned to run ZooKeeper Server",
-      "displayType": "masterHosts",
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "isOverridable": false,
-      "isRequired": false,
-      "serviceName": "ZOOKEEPER",
-      "filename": "zookeeper-env.xml",
-      "category": "ZOOKEEPER_SERVER",
-      "index": 0
-    },
-    {
       "name": "zk_data_dir",
       "displayName": "ZooKeeper directory",
       "description": "Data directory for ZooKeeper",
@@ -2907,18 +2412,6 @@ module.exports =
     },
   /**********************************************FALCON***************************************/
     {
-      "name": "falconserver_host",
-      "displayName": "Falcon Server",
-      "description": "The host that has been assigned to run Falcon Server",
-      "recommendedValue": "falcon",
-      "displayType": "masterHost",
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "FALCON",
-      "filename": "falcon-env.xml",
-      "category": "FALCON_SERVER"
-    },
-    {
       "name": "falcon_port",
       "displayName": "Falcon server port",
       "description": "Port the Falcon Server listens on",
@@ -3054,60 +2547,6 @@ module.exports =
       "filename": "storm-env.xml",
       "category": "Advanced storm-env"
     },
-    {
-      "name": "stormuiserver_host",
-      "displayName": "Storm UI Server host",
-      "description": "The host that has been assigned to run Storm UI Server",
-      "recommendedValue": "",
-      "displayType": "masterHost",
-      "isReconfigurable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "STORM",
-      "filename": "storm-env.xml",
-      "category": "STORM_UI_SERVER"
-    },
-    {
-      "name": "drpcserver_host",
-      "displayName": "DRPC Server host",
-      "description": "The host that has been assigned to run DRPC Server",
-      "recommendedValue": "",
-      "displayType": "masterHost",
-      "isReconfigurable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "STORM",
-      "filename": "storm-env.xml",
-      "category": "DRPC_SERVER"
-    },
-    {
-      "name": "supervisor_hosts",
-      "displayName": "Supervisor hosts",
-      "description": "The host that has been assigned to run Supervisor",
-      "recommendedValue": "",
-      "displayType": "slaveHosts",
-      "isReconfigurable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "STORM",
-      "filename": "storm-env.xml",
-      "isOverridable": false,
-      "category": "SUPERVISOR"
-    },
-    {
-      "name": "storm_rest_api_host",
-      "displayName": "Storm REST API host",
-      "description": "The host that has been assigned to run Storm REST API Server",
-      "recommendedValue": "",
-      "displayType": "masterHost",
-      "isReconfigurable": false,
-      "isVisible": true,
-      "isRequiredByAgent": false,
-      "serviceName": "STORM",
-      "filename": "storm-env.xml",
-      "isOverridable": false,
-      "category": "STORM_REST_API"
-    },
   /**********************************************MISC***************************************/
     {
       "name": "hbase_conf_dir",

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/data/HDP2.2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2.2/site_properties.js b/ambari-web/app/data/HDP2.2/site_properties.js
index 63060ea..feda591 100644
--- a/ambari-web/app/data/HDP2.2/site_properties.js
+++ b/ambari-web/app/data/HDP2.2/site_properties.js
@@ -27,7 +27,6 @@ var hdp22SepcificProperties = [
 var hdp2properties = require('data/HDP2/site_properties').configProperties;
 var excludedConfigs = [
   'storm.thrift.transport', //In HDP2.2 storm.thrift.transport property is computed on server
-  'storm_rest_api_host',
   'tez.am.container.session.delay-allocation-millis',
   'tez.am.grouping.max-size',
   'tez.am.grouping.min-size',
@@ -142,18 +141,6 @@ hdp22properties.push(
     "serviceName": "HIVE"
   },
   {
-    "name": "policy_user",
-    "filename": "ranger-hive-plugin-properties.xml",
-    "category": "Advanced ranger-hive-plugin-properties",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "REPOSITORY_CONFIG_USERNAME",
-    "filename": "ranger-hive-plugin-properties.xml",
-    "category": "Advanced ranger-hive-plugin-properties",
-    "serviceName": "HIVE"
-  },
-  {
     "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
     "displayType": "checkbox",
     "filename": "ranger-hive-plugin-properties.xml",
@@ -185,18 +172,6 @@ hdp22properties.push(
     "index": 1
   },
   {
-    "name": "policy_user",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "category": "Advanced ranger-hbase-plugin-properties",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "REPOSITORY_CONFIG_USERNAME",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "category": "Advanced ranger-hbase-plugin-properties",
-    "serviceName": "HBASE"
-  },
-  {
     "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
     "displayType": "checkbox",
     "filename": "ranger-hbase-plugin-properties.xml",
@@ -293,13 +268,13 @@ hdp22properties.push(
     "name": "ranger_admin_password",
     "serviceName": "RANGER",
     "filename": "ranger-env.xml",
-    "category": "AdminSettings"
+    "category": "RANGER_ADMIN"
   },
   {
     "name": "SQL_CONNECTOR_JAR",
     "serviceName": "RANGER",
     "filename": "admin-properties.xml",
-    "category": "AdminSettings"
+    "category": "RANGER_ADMIN"
   },
   {
     "name": "DB_FLAVOR",

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/data/HDP2.3/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2.3/site_properties.js b/ambari-web/app/data/HDP2.3/site_properties.js
index 10390ac..adf8cae 100644
--- a/ambari-web/app/data/HDP2.3/site_properties.js
+++ b/ambari-web/app/data/HDP2.3/site_properties.js
@@ -101,20 +101,6 @@ hdp23properties.push({
     "index": 2
   },
   {
-    "name": "rangerserver_host",
-    "displayName": "Ranger Server host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run Ranger Server",
-    "displayType": "masterHost",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "DBSettings",
-    "index": 0
-  },
-  {
     "name": "create_db_dbuser",
     "displayType": "checkbox",
     "filename": "ranger-env.xml",
@@ -294,7 +280,7 @@ hdp23properties.push({
   },
   {
     "name": "nimbus.seeds",
-    "displayType": "masterHosts",
+    "displayType": "componentHosts",
     "serviceName": "STORM",
     "filename": "storm-site.xml",
     "category": "NIMBUS"

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/data/HDP2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js
index d641c81..3a57e93 100644
--- a/ambari-web/app/data/HDP2/site_properties.js
+++ b/ambari-web/app/data/HDP2/site_properties.js
@@ -102,7 +102,6 @@ var hdp2properties = [
   },
   {
     "name": "nfs.exports.allowed.hosts",
-    "displayType": "string",
     "category": "NFS_GATEWAY",
     "serviceName": "HDFS",
     "filename": "hdfs-site.xml",
@@ -131,20 +130,6 @@ var hdp2properties = [
     "filename": "hdfs-site.xml"
   },
   {
-    "name": "namenode_host",
-    "displayName": "NameNode hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that has been assigned to run NameNode",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 0
-  },
-  {
     "name": "namenode_heapsize",
     "displayType": "int",
     "serviceName": "HDFS",
@@ -185,35 +170,6 @@ var hdp2properties = [
     "index": 4
   },
   {
-    "name": "snamenode_host",
-    "displayName": "SNameNode host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run SecondaryNameNode",
-    "displayType": "masterHost",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "SECONDARY_NAMENODE",
-    "index": 0
-  },
-  {
-    "name": "datanode_hosts", //not in the schema. For UI purpose
-    "displayName": "DataNode hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run DataNode",
-    "displayType": "slaveHosts",
-    "isRequired": false,
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "DATANODE",
-    "index": 0
-  },
-  {
     "name": "dtnode_heapsize",
     "displayType": "int",
     "serviceName": "HDFS",
@@ -222,22 +178,6 @@ var hdp2properties = [
     "index": 2
   },
   {
-    "name": "nfsgateway_hosts", //not in the schema. For UI purpose
-    "displayName": "NFSGateway hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run NFSGateway",
-    "displayType": "slaveHosts",
-    "isRequired": false,
-    "isOverridable": false,
-    "isVisible": true,
-    "isRequiredByAgent": false,
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NFS_GATEWAY",
-    "index": 0
-  },
-  {
     "name": "nfsgateway_heapsize",
     "displayType": "int",
     "serviceName": "HDFS",
@@ -267,13 +207,6 @@ var hdp2properties = [
     "filename": "hadoop-env.xml",
     "category": "Advanced hadoop-env"
   },
-  {
-    "name": "hadoop_root_logger",
-    "displayType": "string",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "Advanced hadoop-env"
-  },
 
 /**********************************************YARN***************************************/
   {
@@ -382,19 +315,6 @@ var hdp2properties = [
     "index": 0
   },
   {
-    "name": "rm_host",
-    "displayName": "ResourceManager",
-    "description": "ResourceManager",
-    "recommendedValue": "",
-    "isOverridable": false,
-    "displayType": "masterHost",
-    "isRequiredByAgent": false,
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "RESOURCEMANAGER",
-    "index": 0
-  },
-  {
     "name": "resourcemanager_heapsize",
     "displayType": "int",
     "serviceName": "YARN",
@@ -403,25 +323,12 @@ var hdp2properties = [
     "index": 1
   },
   {
-    "name": "nm_hosts",
-    "displayName": "NodeManager",
-    "description": "List of NodeManager Hosts.",
-    "recommendedValue": "",
-    "isOverridable": false,
-    "displayType": "slaveHosts",
-    "isRequiredByAgent": false,
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "NODEMANAGER",
-    "index": 0
-  },
-  {
     "name": "nodemanager_heapsize",
     "displayType": "int",
     "serviceName": "YARN",
     "filename": "yarn-env.xml",
     "category": "NODEMANAGER",
-    "index": 0
+    "index": 1
   },
   {
     "name": "yarn_log_dir_prefix",
@@ -445,19 +352,6 @@ var hdp2properties = [
     "category": "Advanced yarn-env"
   },
   {
-    "name": "ats_host",
-    "displayName": "App Timeline Server",
-    "description": "Application Timeline Server Host",
-    "recommendedValue": "",
-    "isOverridable": false,
-    "displayType": "masterHost",
-    "isRequiredByAgent": false,
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "APP_TIMELINE_SERVER",
-    "index": 0
-  },
-  {
     "name": "apptimelineserver_heapsize",
     "displayType": "int",
     "serviceName": "YARN",
@@ -502,20 +396,6 @@ var hdp2properties = [
     "filename": "mapred-site.xml"
   },
   {
-    "name": "hs_host",
-    "displayName": "History Server",
-    "description": "History Server",
-    "recommendedValue": "",
-    "isOverridable": false,
-    "displayType": "masterHost",
-    "isRequiredByAgent": false,
-    "isVisible": true,
-    "serviceName": "MAPREDUCE2",
-    "filename": "mapred-env.xml",
-    "category": "HISTORYSERVER",
-    "index": 0
-  },
-  {
     "name": "jobhistory_heapsize",
     "displayType": "int",
     "serviceName": "MAPREDUCE2",
@@ -577,20 +457,6 @@ var hdp2properties = [
     "index": 8
   },
   {
-    "name": "oozieserver_host",
-    "displayName": "Oozie Server host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run Oozie Server",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "OOZIE",
-    "filename": "oozie-env.xml",
-    "category": "OOZIE_SERVER",
-    "index": 0
-  },
-  {
     "name": "oozie_database",
     "options": [
       {
@@ -724,12 +590,6 @@ var hdp2properties = [
     "index": 4
   },
   {
-    "name": "hive.server2.tez.default.queues",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "category": "Advanced hive-site"
-  },
-  {
     "name": "hive.server2.thrift.port",
     "displayType": "int",
     "category": "Advanced hive-site",
@@ -751,46 +611,6 @@ var hdp2properties = [
     "filename": "hive-site.xml"
   },
   {
-    "name": "hivemetastore_host",
-    "displayName": "Hive Metastore hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run Hive Metastore",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "HIVE_METASTORE",
-    "index": 0
-  },
-  {
-    "name": "hive_master_hosts",
-    "value": "",
-    "recommendedValue": "",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "isVisible": false,
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml"
-  },
-  {
-    "name": "hive_ambari_database",
-    "displayName": "Database Type",
-    "value": "",
-    "recommendedValue": "MySQL",
-    "description": "MySQL will be installed by Ambari",
-    "displayType": "masterHost",
-    "isOverridable": false,
-    "isReconfigurable": false,
-    "isRequiredByAgent": false,
-    "isVisible": false,
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "HIVE_METASTORE",
-    "index": 1
-  },
-  {
     "name": "hive_database",
     "options": [
       {
@@ -837,22 +657,6 @@ var hdp2properties = [
     "index": 3
   },
   {
-    "name": "hive_ambari_host",
-    "value": "",
-    "recommendedValue": "",
-    "displayName": "Database Host",
-    "description": "Host on which the database will be created by Ambari",
-    "isReconfigurable": false,
-    "displayType": "masterHost",
-    "isOverridable": false,
-    "isVisible": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "HIVE_METASTORE",
-    "index": 3
-  },
-  {
     "name": "hive_log_dir",
     "displayType": "directory",
     "serviceName": "HIVE",
@@ -867,19 +671,6 @@ var hdp2properties = [
     "category": "Advanced hive-env"
   },
   {
-    "name": "webhcatserver_host",
-    "displayName": "WebHCat Server host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run WebHCat Server",
-    "displayType": "masterHost",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HIVE",
-    "filename": "webhcat-env.xml",
-    "category": "WEBHCAT_SERVER"
-  },
-  {
     "name": "hcat_log_dir",
     "displayType": "directory",
     "serviceName": "HIVE",
@@ -942,14 +733,12 @@ var hdp2properties = [
   },
   {
     "name": "tez.am.log.level",
-    "displayType": "string",
     "category": "General",
     "serviceName": "TEZ",
     "filename": "tez-site.xml"
   },
   {
     "name": "tez.runtime.intermediate-input.compress.codec",
-    "displayType": "string",
     "category": "General",
     "serviceName": "TEZ",
     "filename": "tez-site.xml"
@@ -963,7 +752,6 @@ var hdp2properties = [
   },
   {
     "name": "tez.runtime.intermediate-output.compress.codec",
-    "displayType": "string",
     "category": "General",
     "serviceName": "TEZ",
     "filename": "tez-site.xml"
@@ -1100,24 +888,6 @@ var hdp2properties = [
     "index": 5
   },
   {
-    "name": "hbase.coprocessor.region.classes",
-    "category": "Advanced hbase-site",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml"
-  },
-  {
-    "name": "hbase.coprocessor.master.classes",
-    "category": "Advanced hbase-site",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml"
-  },
-  {
-    "name": "hbase.coprocessor.regionserver.classes",
-    "category": "Advanced hbase-site",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml"
-  },
-  {
     "name": "hbase.zookeeper.quorum",
     "displayType": "multiLine",
     "serviceName": "HBASE",
@@ -1125,21 +895,6 @@ var hdp2properties = [
     "category": "Advanced hbase-site"
   },
   {
-    "name": "hbasemaster_host",
-    "displayName": "HBase Master hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run HBase Master",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "isVisible": true,
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_MASTER",
-    "index": 0
-  },
-  {
     "name": "hbase_master_heapsize",
     "displayType": "int",
     "serviceName": "HBASE",
@@ -1148,20 +903,6 @@ var hdp2properties = [
     "index": 1
   },
   {
-    "name": "regionserver_hosts",
-    "displayName": "RegionServer hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run RegionServer",
-    "displayType": "slaveHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_REGIONSERVER",
-    "index": 0
-  },
-  {
     "name": "hbase_regionserver_heapsize",
     "displayType": "int",
     "serviceName": "HBASE",
@@ -1217,7 +958,7 @@ var hdp2properties = [
   },
   {
     "name": "storm.zookeeper.servers",
-    "displayType": "masterHosts",
+    "displayType": "componentHosts",
     "serviceName": "STORM",
     "filename": "storm-site.xml",
     "category": "General"
@@ -1333,7 +1074,7 @@ var hdp2properties = [
   },
   {
     "name": "nimbus.host",
-    "displayType": "masterHost",
+    "displayType": "componentHost",
     "serviceName": "STORM",
     "filename": "storm-site.xml",
     "category": "NIMBUS"
@@ -1423,7 +1164,6 @@ var hdp2properties = [
   },
   {
     "name": "supervisor.slots.ports",
-    "displayType": "string",
     "serviceName": "STORM",
     "filename": "storm-site.xml",
     "category": "SUPERVISOR"
@@ -1500,7 +1240,6 @@ var hdp2properties = [
   },
   {
     "name": "drpc.childopts",
-    "displayType": "string",
     "category": "DRPC_SERVER",
     "serviceName": "STORM",
     "filename": "storm-site.xml"
@@ -1514,7 +1253,6 @@ var hdp2properties = [
   },
   {
     "name": "ui.childopts",
-    "displayType": "string",
     "category": "STORM_UI_SERVER",
     "serviceName": "STORM",
     "filename": "storm-site.xml"
@@ -1813,63 +1551,15 @@ var hdp2properties = [
 
 /**********************************************webhcat-site***************************************/
   {
-    "name": "templeton.hive.archive",
-    "serviceName": "HIVE",
-    "filename": "webhcat-site.xml",
-    "category": "Advanced webhcat-site"
-  },
-  {
-    "name": "templeton.pig.archive",
-    "serviceName": "HIVE",
-    "filename": "webhcat-site.xml",
-    "category": "Advanced webhcat-site"
-  },
-  {
     "name": "templeton.zookeeper.hosts",
     "displayType": "multiLine",
     "serviceName": "HIVE",
     "filename": "webhcat-site.xml",
     "category": "Advanced webhcat-site"
   },
-/**********************************************pig.properties*****************************************/
-  {
-    "name": "content",
-    "category": "Advanced pig-properties",
-    "serviceName": "PIG",
-    "filename": "pig-properties.xml"
-  },
 
 /**********************************************KNOX*****************************************/
   {
-    "name": "content",
-    "displayType": "content",
-    "serviceName": "KNOX",
-    "filename": "topology.xml",
-    "category": "Advanced topology"
-  },
-
-  {
-    "name": "content",
-    "displayType": "content",
-    "serviceName": "KNOX",
-    "filename": "users-ldif.xml",
-    "category": "Advanced users-ldif"
-  },
-  {
-    "name": "knox_gateway_host",
-    "displayName": "Knox Gateway host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The hosts that have been assigned to run Knox Gateway",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "KNOX",
-    "filename": "knox-env.xml",
-    "category": "KNOX_GATEWAY",
-    "index": 0
-  },
-  {
     "name": "knox_master_secret",
     "serviceName": "KNOX",
     "filename": "knox-env.xml",
@@ -1885,26 +1575,12 @@ var hdp2properties = [
 
 /********************************************* KAFKA *****************************/
   {
-    "name": "kafka_broker_hosts",
-    "displayName": "Kafka Broker host",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run Kafka Broker",
-    "displayType": "masterHosts",
-    "isOverridable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 0
-  },
-  {
     "name": "log.dirs",
     "displayType": "directories",
     "serviceName": "KAFKA",
     "filename": "kafka-broker.xml",
     "category": "KAFKA_BROKER",
-    "index": 0
+    "index": 1
   },
   {
     "name": "port",
@@ -1912,7 +1588,7 @@ var hdp2properties = [
     "serviceName": "KAFKA",
     "filename": "kafka-broker.xml",
     "category": "KAFKA_BROKER",
-    "index": 0
+    "index": 2
   },
     {
     "name": "listeners",
@@ -1957,7 +1633,6 @@ var hdp2properties = [
 /********************************************* ACCUMULO *****************************/
   {
     "name": "accumulo_instance_name",
-    "displayType": "string",
     "serviceName": "ACCUMULO",
     "filename": "accumulo-env.xml",
     "category": "General"
@@ -1970,7 +1645,6 @@ var hdp2properties = [
   },
   {
     "name": "trace.user",
-    "displayType": "string",
     "serviceName": "ACCUMULO",
     "filename": "accumulo-site.xml",
     "category": "General"
@@ -2053,7 +1727,6 @@ var hdp2properties = [
   },
   {
     "name": "instance.volumes",
-    "displayType": "string",
     "serviceName": "ACCUMULO",
     "filename": "accumulo-site.xml",
     "category": "Advanced accumulo-site",
@@ -2061,7 +1734,6 @@ var hdp2properties = [
   },
   {
     "name": "instance.zookeeper.host",
-    "displayType": "string",
     "serviceName": "ACCUMULO",
     "filename": "accumulo-site.xml",
     "category": "Advanced accumulo-site",
@@ -2069,7 +1741,6 @@ var hdp2properties = [
   },
   {
     "name": "instance.zookeeper.timeout",
-    "displayType": "string",
     "serviceName": "ACCUMULO",
     "filename": "accumulo-site.xml",
     "category": "Advanced accumulo-site",
@@ -2143,21 +1814,13 @@ var hdp2properties = [
 /*******************************************kerberos***********************************/
   {
     "name": "kdc_type",
-    "displayType": "masterHost",
+    "displayType": "componentHost",
     "serviceName": "KERBEROS",
     "filename": "kerberos-env.xml",
     "category": "KDC",
     "index": 0
   },
   {
-    "name": "kdc_host",
-    "displayType": "supportTextConnection",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 1
-  },
-  {
     "name": "realm",
     "displayType": "host",
     "serviceName": "KERBEROS",
@@ -2381,14 +2044,12 @@ var hdp2properties = [
   //***************************************** GLUSTERFS stack********************************************
   {
     "name": "fs.glusterfs.impl",
-    "displayType": "string",
     "filename": "core-site.xml",
     "serviceName": "GLUSTERFS",
     "category": "General"
   },
   {
     "name": "fs.AbstractFileSystem.glusterfs.impl",
-    "displayType": "string",
     "filename": "core-site.xml",
     "serviceName": "GLUSTERFS",
     "category": "General"
@@ -2470,21 +2131,6 @@ var hdp2properties = [
   },
   {
     "name": "glusterfs_user",
-    "displayType": "string",
-    "serviceName": "GLUSTERFS",
-    "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
-  },
-  {
-    "name": "namenode_host",
-    "displayType": "string",
-    "serviceName": "GLUSTERFS",
-    "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
-  },
-  {
-    "name": "snamenode_host",
-    "displayType": "string",
     "serviceName": "GLUSTERFS",
     "filename": "hadoop-env.xml",
     "category": "General Hadoop"
@@ -2492,22 +2138,6 @@ var hdp2properties = [
 
 /**********************************************ZOOKEEPER***************************************/
   {
-    "name": "zookeeperserver_hosts",
-    "displayName": "ZooKeeper Server hosts",
-    "value": "",
-    "recommendedValue": "",
-    "description": "The host that has been assigned to run ZooKeeper Server",
-    "displayType": "masterHosts",
-    "isVisible": true,
-    "isRequiredByAgent": false,
-    "isOverridable": false,
-    "isRequired": false,
-    "serviceName": "ZOOKEEPER",
-    "filename": "zookeeper-env.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 0
-  },
-  {
     "name": "dataDir",
     "displayType": "directory",
     "serviceName": "ZOOKEEPER",
@@ -2565,17 +2195,6 @@ var hdp2properties = [
   },
 /**********************************************FALCON***************************************/
   {
-    "name": "falconserver_host",
-    "displayName": "Falcon Server",
-    "description": "The host that has been assigned to run Falcon Server",
-    "recommendedValue": "falcon",
-    "displayType": "masterHost",
-    "isRequiredByAgent": false,
-    "serviceName": "FALCON",
-    "filename": "falcon-env.xml",
-    "category": "FALCON_SERVER"
-  },
-  {
     "name": "falcon_port",
     "displayType": "int",
     "serviceName": "FALCON",
@@ -2591,7 +2210,6 @@ var hdp2properties = [
   },
   {
     "name": "falcon_store_uri",
-    "displayType": "string",
     "serviceName": "FALCON",
     "filename": "falcon-env.xml",
     "category": "FALCON_SERVER"
@@ -2611,26 +2229,12 @@ var hdp2properties = [
     "category": "Advanced falcon-env"
   },
   {
-    "name": "falcon.embeddedmq",
-    "displayType": "string",
-    "serviceName": "FALCON",
-    "filename": "falcon-env.xml",
-    "category": "Advanced falcon-env"
-  },
-  {
     "name": "falcon.embeddedmq.data",
     "displayType": "directory",
     "serviceName": "FALCON",
     "filename": "falcon-env.xml",
     "category": "Advanced falcon-env"
   },
-  {
-    "name": "falcon.emeddedmq.port",
-    "displayType": "string",
-    "serviceName": "FALCON",
-    "filename": "falcon-env.xml",
-    "category": "Advanced falcon-env"
-  },
 /**********************************************STORM***************************************/
   {
     "name": "storm_log_dir",
@@ -2646,57 +2250,6 @@ var hdp2properties = [
     "filename": "storm-env.xml",
     "category": "Advanced storm-env"
   },
-  {
-    "name": "stormuiserver_host",
-    "displayName": "Storm UI Server host",
-    "description": "The host that has been assigned to run Storm UI Server",
-    "recommendedValue": "",
-    "displayType": "masterHost",
-    "isReconfigurable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "STORM",
-    "filename": "storm-env.xml",
-    "category": "STORM_UI_SERVER"
-  },
-  {
-    "name": "drpcserver_host",
-    "displayName": "DRPC Server host",
-    "description": "The host that has been assigned to run DRPC Server",
-    "recommendedValue": "",
-    "displayType": "masterHost",
-    "isReconfigurable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "STORM",
-    "filename": "storm-env.xml",
-    "category": "DRPC_SERVER"
-  },
-  {
-    "name": "supervisor_hosts",
-    "displayName": "Supervisor hosts",
-    "description": "The host that has been assigned to run Supervisor",
-    "recommendedValue": "",
-    "isRequired": false,
-    "displayType": "slaveHosts",
-    "isReconfigurable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "STORM",
-    "filename": "storm-env.xml",
-    "isOverridable": false,
-    "category": "SUPERVISOR"
-  },
-  {
-    "name": "storm_rest_api_host",
-    "displayName": "Storm REST API host",
-    "description": "The host that has been assigned to run Storm REST API Server",
-    "recommendedValue": "",
-    "displayType": "masterHost",
-    "isReconfigurable": false,
-    "isRequiredByAgent": false,
-    "serviceName": "STORM",
-    "filename": "storm-env.xml",
-    "isOverridable": false,
-    "category": "STORM_REST_API"
-  },
 /**********************************************MISC***************************************/
   {
     "name": "ignore_groupsusers_create",
@@ -2790,7 +2343,6 @@ var hdp2properties = [
   {
     "name": "ambari.dispatch.credential.username",
     "displayName": "SMTP Username",
-    "displayType": "string",
     "isRequired": false,
     "isReconfigurable": true,
     "isOverridable": false,
@@ -2803,7 +2355,6 @@ var hdp2properties = [
   {
     "name": "ambari.dispatch.credential.password",
     "displayName": "SMTP Password",
-    "displayType": "string",
     "isRequired": false,
     "isReconfigurable": true,
     "isOverridable": false,
@@ -2838,7 +2389,6 @@ var hdp2properties = [
 /************************************************AMBARI_METRICS******************************************/
   {
     "name": "timeline.metrics.service.operation.mode",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-site.xml",
     "category": "General",
@@ -2846,7 +2396,6 @@ var hdp2properties = [
   },
   {
     "name": "metrics_collector_log_dir",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-env.xml",
     "category": "General",
@@ -2854,7 +2403,6 @@ var hdp2properties = [
   },
   {
     "name": "metrics_collector_pid_dir",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-env.xml",
     "category": "General",
@@ -2862,7 +2410,6 @@ var hdp2properties = [
   },
   {
     "name": "metrics_monitor_log_dir",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-env.xml",
     "category": "General",
@@ -2870,7 +2417,6 @@ var hdp2properties = [
   },
   {
     "name": "metrics_monitor_pid_dir",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-env.xml",
     "category": "General",
@@ -2894,7 +2440,6 @@ var hdp2properties = [
   },
   {
     "name": "timeline.metrics.cluster.aggregator.hourly.disabled",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-site.xml",
     "category": "MetricCollector",
@@ -2918,7 +2463,6 @@ var hdp2properties = [
   },
   {
     "name": "timeline.metrics.cluster.aggregator.minute.disabled",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-site.xml",
     "category": "MetricCollector",
@@ -2950,7 +2494,6 @@ var hdp2properties = [
   },
   {
     "name": "timeline.metrics.host.aggregator.hourly.disabled",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-site.xml",
     "category": "MetricCollector",
@@ -2974,7 +2517,6 @@ var hdp2properties = [
   },
   {
     "name": "timeline.metrics.host.aggregator.minute.disabled",
-    "displayType": "string",
     "serviceName": "AMBARI_METRICS",
     "filename": "ams-site.xml",
     "category": "MetricCollector",
@@ -3012,114 +2554,6 @@ var hdp2properties = [
     "category": "MetricCollector",
     "index": 3
   },
-  {
-    "name": "ams.zookeeper.keytab",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "ams.zookeeper.principal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hadoop.security.authentication",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.coprocessor.master.classes",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.coprocessor.region.classes",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.master.kerberos.principal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.master.keytab.file",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.myclient.keytab",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.myclient.principal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.regionserver.kerberos.principal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.regionserver.keytab.file",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.security.authentication",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.security.authorization",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.zookeeper.property.authProvider.1",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.zookeeper.property.jaasLoginRenew",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.zookeeper.property.kerberos.removeHostFromPrincipal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "hbase.zookeeper.property.kerberos.removeRealmFromPrincipal",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
-  {
-    "name": "zookeeper.znode.parent",
-    "serviceName": "AMBARI_METRICS",
-    "category": "Advanced ams-hbase-security-site",
-    "filename": "ams-hbase-security-site.xml"
-  },
 /************************************************Kerberos Descriptor******************************************/
   {
     "name": "smokeuser_principal_name",
@@ -3244,12 +2678,10 @@ if (App.get('isHadoopWindowsStack')) {
       "options": [
         {
           displayName: 'Existing MSSQL Server database with SQL authentication',
-          foreignKeys: ['hive_existing_mssql_server_database', 'hive_existing_mssql_server_host'],
           hidden: false
         },
         {
           displayName: 'Existing MSSQL Server database with integrated authentication',
-          foreignKeys: ['hive_existing_mssql_server_2_database', 'hive_existing_mssql_server_2_host'],
           hidden: false
         }
       ],
@@ -3266,12 +2698,10 @@ if (App.get('isHadoopWindowsStack')) {
       "options": [
         {
           displayName: 'Existing MSSQL Server database with SQL authentication',
-          foreignKeys: ['oozie_existing_mssql_server_database', 'oozie_existing_mssql_server_host'],
           hidden: false
         },
         {
           displayName: 'Existing MSSQL Server database with integrated authentication',
-          foreignKeys: ['oozie_existing_mssql_server_2_database', 'oozie_existing_mssql_server_2_host'],
           hidden: false
         }
       ],
@@ -3335,21 +2765,18 @@ var atsProperties = [
   },
   {
     "name": "yarn.timeline-service.webapp.address",
-    "displayType": "string",
     "category": "APP_TIMELINE_SERVER",
     "serviceName": "YARN",
     "filename": "yarn-site.xml"
   },
   {
     "name": "yarn.timeline-service.webapp.https.address",
-    "displayType": "string",
     "category": "APP_TIMELINE_SERVER",
     "serviceName": "YARN",
     "filename": "yarn-site.xml"
   },
   {
     "name": "yarn.timeline-service.address",
-    "displayType": "string",
     "category": "APP_TIMELINE_SERVER",
     "serviceName": "YARN",
     "filename": "yarn-site.xml"

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/data/host_component_mapping.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/host_component_mapping.js b/ambari-web/app/data/host_component_mapping.js
deleted file mode 100644
index be5f891..0000000
--- a/ambari-web/app/data/host_component_mapping.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-/**
- * Array of Objects
- * {
-   *  hostProperty - hostName property name for current component
-   *  componentName - master componentName
-   *  serviceName - serviceName of component
-   *  serviceUseThis - services that use hostname property of component(componentName)
-   *  m(multiple) - true if can be more than one components installed on cluster
-   * }
- */
-
-module.exports = [
-  {
-    hostProperty: 'snamenode_host',
-    componentName: 'SECONDARY_NAMENODE',
-    serviceName: 'HDFS',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'jobtracker_host',
-    componentName: 'JOBTRACKER',
-    serviceName: 'MAPREDUCE2',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'hs_host',
-    componentName: 'HISTORYSERVER',
-    serviceName: 'MAPREDUCE2',
-    serviceUseThis: ['YARN']
-  },
-  {
-    hostProperty: 'ats_host',
-    componentName: 'APP_TIMELINE_SERVER',
-    serviceName: 'YARN',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'rm_host',
-    componentName: 'RESOURCEMANAGER',
-    serviceName: 'YARN',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'hivemetastore_host',
-    componentName: 'HIVE_METASTORE',
-    serviceName: 'HIVE',
-    serviceUseThis: ['HIVE'],
-    m: true
-  },
-  {
-    hostProperty: 'hive_ambari_host',
-    componentName: 'HIVE_SERVER',
-    serviceName: 'HIVE',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'oozieserver_host',
-    componentName: 'OOZIE_SERVER',
-    serviceName: 'OOZIE',
-    serviceUseThis: [],
-    m: true
-  },
-  {
-    hostProperty: 'oozie_ambari_host',
-    componentName: 'OOZIE_SERVER',
-    serviceName: 'OOZIE',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'hbasemaster_host',
-    componentName: 'HBASE_MASTER',
-    serviceName: 'HBASE',
-    serviceUseThis: [],
-    m: true
-  },
-  {
-    hostProperty: 'webhcatserver_host',
-    componentName: 'WEBHCAT_SERVER',
-    serviceName: 'HIVE',
-    serviceUseThis: [],
-    m: true
-  },
-  {
-    hostProperty: 'zookeeperserver_hosts',
-    componentName: 'ZOOKEEPER_SERVER',
-    serviceName: 'ZOOKEEPER',
-    serviceUseThis: ['HBASE', 'HIVE'],
-    m: true
-  },
-  {
-    hostProperty: 'stormuiserver_host',
-    componentName: 'STORM_UI_SERVER',
-    serviceName: 'STORM',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'drpcserver_host',
-    componentName: 'DRPC_SERVER',
-    serviceName: 'STORM',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'storm_rest_api_host',
-    componentName: 'STORM_REST_API',
-    serviceName: 'STORM',
-    serviceUseThis: []
-  },
-  {
-    hostProperty: 'supervisor_hosts',
-    componentName: 'SUPERVISOR',
-    serviceName: 'STORM',
-    serviceUseThis: [],
-    m: true
-  },
-  {
-    hostProperty: 'rangerserver_host',
-    componentName: 'RANGER_ADMIN',
-    serviceName: 'RANGER',
-    serviceUseThis: [],
-    m: true
-  }
-];

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/mixins/common/configs/configs_saver.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/configs_saver.js b/ambari-web/app/mixins/common/configs/configs_saver.js
index 0322e44..b0d5c35 100644
--- a/ambari-web/app/mixins/common/configs/configs_saver.js
+++ b/ambari-web/app/mixins/common/configs/configs_saver.js
@@ -855,123 +855,6 @@ App.ConfigsSaverMixin = Em.Mixin.create({
   },
 
   /**
-   * TODO the methods below are not used as the logic was changed
-   * check and delete if this methods is not required
-   */
-
-  /**
-   * filter out unchanged configurationsisPropertiesChanged
-   * @param {Array} configsToSave
-   * @private
-   * @method filterChangedConfiguration
-   */
-  filterChangedConfiguration: function (configsToSave) {
-    var changedConfigs = [];
-
-    configsToSave.forEach(function (configSite) {
-      var oldConfig = App.router.get('configurationController').getConfigsByTags([
-        {siteName: configSite.type, tagName: this.loadedClusterSiteToTagMap[configSite.type]}
-      ]);
-      oldConfig = oldConfig[0] || {};
-      var oldProperties = oldConfig.properties || {};
-      var oldAttributes = oldConfig["properties_attributes"] || {};
-      var newProperties = configSite.properties || {};
-      var newAttributes = configSite["properties_attributes"] || {};
-      if (this.isAttributesChanged(oldAttributes, newAttributes) || this.isConfigChanged(oldProperties, newProperties) || this.get('modifiedFileNames').contains(App.config.getOriginalFileName(configSite.type))) {
-        changedConfigs.push(configSite);
-      }
-    }, this);
-    return changedConfigs;
-  },
-
-  /**
-   * Compares the loaded config values with the saving config values.
-   * @param {Object} loadedConfig -
-   * loadedConfig: {
-   *      configName1: "configValue1",
-   *      configName2: "configValue2"
-   *   }
-   * @param {Object} savingConfig
-   * savingConfig: {
-   *      configName1: "configValue1",
-   *      configName2: "configValue2"
-   *   }
-   * @returns {boolean}
-   * @private
-   * @method isConfigChanged
-   */
-  isConfigChanged: function (loadedConfig, savingConfig) {
-    if (loadedConfig != null && savingConfig != null) {
-      var seenLoadKeys = [];
-      for (var loadKey in loadedConfig) {
-        if (!loadedConfig.hasOwnProperty(loadKey)) continue;
-        seenLoadKeys.push(loadKey);
-        var loadValue = loadedConfig[loadKey];
-        var saveValue = savingConfig[loadKey];
-        if ("boolean" == typeof(saveValue)) {
-          saveValue = saveValue.toString();
-        }
-        if (saveValue == null) {
-          saveValue = "null";
-        }
-        if (loadValue !== saveValue) {
-          return true;
-        }
-      }
-      for (var saveKey in savingConfig) {
-        if (seenLoadKeys.indexOf(saveKey) < 0) {
-          return true;
-        }
-      }
-    }
-    return false;
-  },
-
-  /**
-   * Compares the loaded config properties attributes with the saving config properties attributes.
-   * @param {Object} oldAttributes -
-   * oldAttributes: {
-   *   supports: {
-   *     final: {
-   *       "configValue1" : "true",
-   *       "configValue2" : "true"
-   *     }
-   *   }
-   * }
-   * @param {Object} newAttributes
-   * newAttributes: {
-   *   supports: {
-   *     final: {
-   *       "configValue1" : "true",
-   *       "configValue2" : "true"
-   *     }
-   *   }
-   * }
-   * @returns {boolean}
-   * @private
-   * @method isAttributesChanged
-   */
-  isAttributesChanged: function (oldAttributes, newAttributes) {
-    oldAttributes = oldAttributes.final || {};
-    newAttributes = newAttributes.final || {};
-
-    var key;
-    for (key in oldAttributes) {
-      if (oldAttributes.hasOwnProperty(key)
-        && (!newAttributes.hasOwnProperty(key) || newAttributes[key] !== oldAttributes[key])) {
-        return true;
-      }
-    }
-    for (key in newAttributes) {
-      if (newAttributes.hasOwnProperty(key)
-        && (!oldAttributes.hasOwnProperty(key) || newAttributes[key] !== oldAttributes[key])) {
-        return true;
-      }
-    }
-    return false;
-  },
-
-  /**
    * Save "final" attribute for properties
    * @param {Array} properties - array of properties
    * @returns {Object|null}

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/ambari-web/app/models/configs/objects/service_config_property.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/objects/service_config_property.js b/ambari-web/app/models/configs/objects/service_config_property.js
index a963629..828383d 100644
--- a/ambari-web/app/models/configs/objects/service_config_property.js
+++ b/ambari-web/app/models/configs/objects/service_config_property.js
@@ -177,7 +177,7 @@ App.ServiceConfigProperty = Em.Object.extend({
     var editable = this.get('isEditable');
     var overrides = this.get('overrides');
     var dt = this.get('displayType');
-    return overrideable && (editable || !overrides || !overrides.length) && ("masterHost" != dt);
+    return overrideable && (editable || !overrides || !overrides.length) && ("componentHost" != dt);
   }.property('isEditable', 'displayType', 'isOverridable', 'overrides.length'),
 
   isOverridden: function() {
@@ -239,7 +239,7 @@ App.ServiceConfigProperty = Em.Object.extend({
    * Don't show "Undo" for hosts on Installer Step7
    */
   cantBeUndone: function() {
-    return ["masterHost", "slaveHosts", "masterHosts", "slaveHost", "radio button"].contains(this.get('displayType'));
+    return ["componentHost", "componentHosts", "radio button"].contains(this.get('displayType'));
   }.property('displayType'),
 
   /**
@@ -312,14 +312,12 @@ App.ServiceConfigProperty = Em.Object.extend({
         break;
       case 'custom':
         return App.ServiceConfigBigTextArea;
-      case 'masterHost':
+      case 'componentHost':
         return App.ServiceConfigMasterHostView;
       case 'label':
         return App.ServiceConfigLabelView;
-      case 'masterHosts':
-        return App.ServiceConfigMasterHostsView;
-      case 'slaveHosts':
-        return App.ServiceConfigSlaveHostsView;
+      case 'componentHosts':
+        return App.ServiceConfigComponentHostsView;
       case 'supportTextConnection':
         return App.checkConnectionView;
       default:
@@ -434,8 +432,7 @@ App.ServiceConfigProperty = Em.Object.extend({
         case 'supportTextConnection':
         case 'host':
           var connectionProperties = ['kdc_host'];
-          var hiveOozieHostNames = ['hive_hostname','hive_existing_mysql_host','hive_existing_oracle_host','hive_ambari_host',
-            'oozie_hostname','oozie_existing_mysql_host','oozie_existing_oracle_host','oozie_ambari_host'];
+          var hiveOozieHostNames = ['hive_hostname','oozie_hostname'];
           if(hiveOozieHostNames.contains(this.get('name'))) {
             if (validator.hasSpaces(value)) {
               this.set('errorMessage', Em.I18n.t('host.spacesValidation'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3117483/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 8fbceac..b783bd9 100644
--- a/ambari-web/app/models/stack_service.js
+++ b/ambari-web/app/models/stack_service.js
@@ -232,11 +232,11 @@ App.StackService.configCategories = function () {
   switch (this.get('serviceName')) {
     case 'HDFS':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'NAMENODE', displayName: 'NameNode'}),
-        App.ServiceConfigCategory.create({ name: 'SECONDARY_NAMENODE', displayName: 'Secondary NameNode'}),
-        App.ServiceConfigCategory.create({ name: 'DATANODE', displayName: 'DataNode'}),
+        App.ServiceConfigCategory.create({ name: 'NAMENODE', displayName: 'NameNode', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'SECONDARY_NAMENODE', displayName: 'Secondary NameNode', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'DATANODE', displayName: 'DataNode', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
-        App.ServiceConfigCategory.create({ name: 'NFS_GATEWAY', displayName: 'NFS Gateway'})
+        App.ServiceConfigCategory.create({ name: 'NFS_GATEWAY', displayName: 'NFS Gateway', showHost: true})
       ]);
       break;
     case 'GLUSTERFS':
@@ -246,9 +246,9 @@ App.StackService.configCategories = function () {
       break;
     case 'YARN':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'RESOURCEMANAGER', displayName: 'Resource Manager'}),
-        App.ServiceConfigCategory.create({ name: 'NODEMANAGER', displayName: 'Node Manager'}),
-        App.ServiceConfigCategory.create({ name: 'APP_TIMELINE_SERVER', displayName: 'Application Timeline Server'}),
+        App.ServiceConfigCategory.create({ name: 'RESOURCEMANAGER', displayName: 'Resource Manager', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'NODEMANAGER', displayName: 'Node Manager', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'APP_TIMELINE_SERVER', displayName: 'Application Timeline Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
         App.ServiceConfigCategory.create({ name: 'FaultTolerance', displayName: 'Fault Tolerance'}),
         App.ServiceConfigCategory.create({ name: 'Isolation', displayName: 'Isolation'}),
@@ -257,14 +257,14 @@ App.StackService.configCategories = function () {
       break;
     case 'MAPREDUCE2':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'HISTORYSERVER', displayName: 'History Server'}),
+        App.ServiceConfigCategory.create({ name: 'HISTORYSERVER', displayName: 'History Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
       ]);
       break;
     case 'HIVE':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'HIVE_METASTORE', displayName: 'Hive Metastore'}),
-        App.ServiceConfigCategory.create({ name: 'WEBHCAT_SERVER', displayName: 'WebHCat Server'}),
+        App.ServiceConfigCategory.create({ name: 'HIVE_METASTORE', displayName: 'Hive Metastore', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'WEBHCAT_SERVER', displayName: 'WebHCat Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
         App.ServiceConfigCategory.create({ name: 'Performance', displayName: 'Performance'}),
         App.ServiceConfigCategory.create({ name: 'HIVE_SERVER2', displayName: 'Hive Server2'}),
@@ -273,25 +273,25 @@ App.StackService.configCategories = function () {
       break;
     case 'HBASE':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'HBASE_MASTER', displayName: 'HBase Master'}),
-        App.ServiceConfigCategory.create({ name: 'HBASE_REGIONSERVER', displayName: 'RegionServer'}),
+        App.ServiceConfigCategory.create({ name: 'HBASE_MASTER', displayName: 'HBase Master', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'HBASE_REGIONSERVER', displayName: 'RegionServer', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
       ]);
       break;
     case 'ZOOKEEPER':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'ZOOKEEPER_SERVER', displayName: 'ZooKeeper Server'})
+        App.ServiceConfigCategory.create({ name: 'ZOOKEEPER_SERVER', displayName: 'ZooKeeper Server', showHost: true})
       ]);
       break;
     case 'OOZIE':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'OOZIE_SERVER', displayName: 'Oozie Server'}),
+        App.ServiceConfigCategory.create({ name: 'OOZIE_SERVER', displayName: 'Oozie Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'Falcon - Oozie integration', displayName: 'Falcon - Oozie integration'})
       ]);
       break;
     case 'FALCON':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'FALCON_SERVER', displayName: 'Falcon Server'}),
+        App.ServiceConfigCategory.create({ name: 'FALCON_SERVER', displayName: 'Falcon Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'Falcon - Oozie integration', displayName: 'Falcon - Oozie integration'}),
         App.ServiceConfigCategory.create({ name: 'FalconStartupSite', displayName: 'Falcon startup.properties'}),
         App.ServiceConfigCategory.create({ name: 'FalconRuntimeSite', displayName: 'Falcon runtime.properties'}),
@@ -300,11 +300,11 @@ App.StackService.configCategories = function () {
       break;
     case 'STORM':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'NIMBUS', displayName: 'Nimbus'}),
-        App.ServiceConfigCategory.create({ name: 'SUPERVISOR', displayName: 'Supervisor'}),
-        App.ServiceConfigCategory.create({ name: 'STORM_UI_SERVER', displayName: 'Storm UI Server'}),
-        App.ServiceConfigCategory.create({ name: 'STORM_REST_API', displayName: 'Storm REST API Server'}),
-        App.ServiceConfigCategory.create({ name: 'DRPC_SERVER', displayName: 'DRPC Server'}),
+        App.ServiceConfigCategory.create({ name: 'NIMBUS', displayName: 'Nimbus', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'SUPERVISOR', displayName: 'Supervisor', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'STORM_UI_SERVER', displayName: 'Storm UI Server', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'STORM_REST_API', displayName: 'Storm REST API Server', showHost: true}),
+        App.ServiceConfigCategory.create({ name: 'DRPC_SERVER', displayName: 'DRPC Server', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
       ]);
       break;
@@ -320,17 +320,17 @@ App.StackService.configCategories = function () {
       break;
     case 'KNOX':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'KNOX_GATEWAY', displayName: 'Knox Gateway'})
+        App.ServiceConfigCategory.create({ name: 'KNOX_GATEWAY', displayName: 'Knox Gateway', showHost: true})
       ]);
       break;
     case 'KAFKA':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'KAFKA_BROKER', displayName: 'Kafka Broker'})
+        App.ServiceConfigCategory.create({ name: 'KAFKA_BROKER', displayName: 'Kafka Broker', showHost: true})
       ]);
       break;
     case 'KERBEROS':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'KDC', displayName: 'KDC'}),
+        App.ServiceConfigCategory.create({ name: 'KDC', displayName: 'KDC', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'Kadmin', displayName: 'Kadmin'}),
         App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
       ]);
@@ -343,7 +343,7 @@ App.StackService.configCategories = function () {
       break;
     case 'RANGER':
       serviceConfigCategories.pushObjects([
-        App.ServiceConfigCategory.create({ name: 'AdminSettings', displayName: 'Admin Settings'}),
+        App.ServiceConfigCategory.create({ name: 'RANGER_ADMIN', displayName: 'Admin Settings', showHost: true}),
         App.ServiceConfigCategory.create({ name: 'DBSettings', displayName: 'DB Settings'}),
         App.ServiceConfigCategory.create({ name: 'RangerSettings', displayName: 'Ranger Settings'}),
         App.ServiceConfigCategory.create({ name: 'UnixAuthenticationSettings', displayName: 'Unix Authentication Settings'}),