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 2014/12/25 16:46:09 UTC

[05/19] ambari git commit: AMBARI-8918 Remove support for HDP 1.3 Stack in Ambari 2.0.0. (ababiichuk)

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index b15d943..60a25cf 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -37,13 +37,11 @@ require('utils/ajax/ajax_queue');
 
 var files = ['test/init_model_test',
   'test/app_test',
-  'test/data/secure_mapping_test',
   'test/data/HDP2/secure_mapping_test',
   'test/controllers/global/background_operations_test',
   'test/controllers/global/cluster_controller_test',
   'test/controllers/global/update_controller_test',
   'test/controllers/global/configuration_controller_test',
-  'test/controllers/main/app_contoller_test',
   'test/controllers/main/alert_definitions_controller_test',
   'test/controllers/main/alerts/alert_definitions_actions_controller_test',
   'test/controllers/main/alerts/definitions_configs_controller_test',
@@ -251,7 +249,6 @@ var files = ['test/init_model_test',
   'test/models/host_test',
   'test/models/host_component_test',
   'test/models/hosts_test',
-  'test/models/run_test',
   'test/models/service_config_test',
   'test/models/stack_service_component_test',
   'test/models/service_test',

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/classes/job_class.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/classes/job_class.js b/ambari-web/app/classes/job_class.js
deleted file mode 100644
index 378708a..0000000
--- a/ambari-web/app/classes/job_class.js
+++ /dev/null
@@ -1,48 +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');
-var date = require('utils/date');
-var misc = require('utils/misc');
-
-App.Job2 = Ember.Object.extend({
-
-  id: "", //string
-  jobName: "", //string
-  workflowEntityName: "", //string
-  maps: 0, //number
-  reduces: 0, //number
-  status: "", //string
-  input: 0, //number
-  output: 0, //number
-  elapsed_time: 0, //number
-
-  duration: function() {
-    return date.timingFormat(parseInt(this.get('elapsed_time')));
-  }.property('elapsed_time'),
-
-  inputFormatted: function () {
-    return misc.formatBandwidth(this.get('input'));
-  }.property('input'),
-
-  outputFormatted: function () {
-    return misc.formatBandwidth(this.get('output'));
-  }.property('output')
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/classes/run_class.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/classes/run_class.js b/ambari-web/app/classes/run_class.js
deleted file mode 100644
index 801c550..0000000
--- a/ambari-web/app/classes/run_class.js
+++ /dev/null
@@ -1,103 +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');
-var date = require('utils/date');
-var misc = require('utils/misc');
-
-App.Run2 = Ember.Object.extend({
-  id: null, //string
-  appName: null, //string
-  userName: null, //string
-  numJobsTotal: 0, //number
-  numJobsCompleted: 0, //number
-  startTime: 0, //number
-  elapsedTime: 0, //number
-  workflowContext: null, //string
-  input: 0, //number
-  output: 0, //number
-
-  /**
-   * Will set to true when we load all jobs related to this run
-   */
-  loadAllJobs : false,
-
-  /**
-   * runId  short part
-   */
-  idFormatted: function() {
-    return this.get('id').substr(0, 20);
-  }.property('id'),
-
-  /**
-   * Run duration
-   */
-  duration: function() {
-    return date.timingFormat(this.get('elapsedTime'));
-  }.property('elapsedTime'),
-
-  /**
-   * Status of running jobs
-   */
-  isRunning: function () {
-    return !this.get('numJobsTotal') == this.get('numJobsCompleted');
-  }.property('numJobsTotal', 'numJobsCompleted'),
-
-  /**
-   * Sum of input bandwidth for all jobs with appropriate measure
-   */
-  inputFormatted: function () {
-    return misc.formatBandwidth(this.get('input'));
-  }.property('input'),
-
-  /**
-   *  Sum of output bandwidth for all jobs with appropriate measure
-   */
-  outputFormatted: function () {
-    return misc.formatBandwidth(this.get('output'));
-  }.property('output'),
-
-  lastUpdateTime: function() {
-    return this.get('startTime') + this.get('elapsedTime');
-  }.property('elapsedTime', 'startTime'),
-
-  lastUpdateTimeFormatted: function() {
-    return date.dateFormat(this.get('lastUpdateTime'));
-  }.property('lastUpdateTime'),
-
-  lastUpdateTimeFormattedShort: function(){
-    return date.dateFormatShort(this.get('lastUpdateTime'));
-  }.property('lastUpdateTime'),
-
-  /**
-   * Type value based on first part of id
-   */
-  type: function() {
-    if (this.get('id').indexOf('pig_') === 0) {
-      return 'Pig';
-    }
-    if (this.get('id').indexOf('hive_') === 0) {
-      return 'Hive';
-    }
-    if (this.get('id').indexOf('mr_') === 0) {
-      return 'MapReduce';
-    }
-    return 'Undefined';
-  }.property('id')
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/config.js b/ambari-web/app/config.js
index a7cdc29..7bbfd5b 100644
--- a/ambari-web/app/config.js
+++ b/ambari-web/app/config.js
@@ -40,7 +40,6 @@ App.contentUpdateInterval = 15000;
 App.alertDefinitionsUpdateInterval = 10000;
 App.alertInstancesUpdateInterval = 10000;
 App.alertGroupsUpdateInterval = 10000;
-App.maxRunsForAppBrowser = 500;
 App.pageReloadTime=3600000;
 App.singleNodeInstall = false;
 App.singleNodeAlias = document.location.hostname;

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers.js b/ambari-web/app/controllers.js
index 9d0e74d..af61afd 100644
--- a/ambari-web/app/controllers.js
+++ b/ambari-web/app/controllers.js
@@ -136,8 +136,6 @@ require('controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_compaction
 require('controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_regions');
 require('controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize');
 require('controllers/main/charts/heatmap');
-require('controllers/main/apps_controller');
-require('controllers/main/apps/item_controller');
 require('controllers/main/views_controller');
 require('controllers/main/views/details_controller');
 require('controllers/wizard/slave_component_groups_controller');

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 9e4f82e..58ce41a 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -387,7 +387,7 @@ App.ClusterController = Em.Controller.extend({
   },
 
   requestHosts: function (realUrl, callback) {
-    var testHostUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json' : '/data/hosts/hosts.json';
+    var testHostUrl = '/data/hosts/HDP2/hosts.json';
     var url = this.getUrl(testHostUrl, realUrl);
     App.HttpClient.get(url, App.hostsMapper, {
       complete: callback
@@ -432,7 +432,7 @@ App.ClusterController = Em.Controller.extend({
   },
 
   updateClusterData: function () {
-    var testUrl = App.get('isHadoop2Stack') ? '/data/clusters/HDP2/cluster.json' : '/data/clusters/cluster.json';
+    var testUrl = '/data/clusters/HDP2/cluster.json';
     var clusterUrl = this.getUrl(testUrl, '?fields=Clusters');
     App.HttpClient.get(clusterUrl, App.clusterMapper, {
       complete: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/global/update_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/update_controller.js b/ambari-web/app/controllers/global/update_controller.js
index 509e5fb..f1ef341 100644
--- a/ambari-web/app/controllers/global/update_controller.js
+++ b/ambari-web/app/controllers/global/update_controller.js
@@ -151,7 +151,7 @@ App.UpdateController = Em.Controller.extend({
   },
 
   updateHost: function (callback, error) {
-    var testUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json' : '/data/hosts/hosts.json',
+    var testUrl = '/data/hosts/HDP2/hosts.json',
       self = this,
       hostDetailsFilter = '';
     var realUrl = '/hosts?<parameters>fields=Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,' +
@@ -267,7 +267,7 @@ App.UpdateController = Em.Controller.extend({
    * @param callback
    */
   getHostByHostComponents: function (callback) {
-    var testUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json' : '/data/hosts/hosts.json';
+    var testUrl = '/data/hosts/HDP2/hosts.json';
     var realUrl = '/hosts?<parameters>minimal_response=true';
 
     App.ajax.send({
@@ -347,7 +347,7 @@ App.UpdateController = Em.Controller.extend({
 
     var conditionalFields = this.getConditionalFields(),
       conditionalFieldsString = conditionalFields.length > 0 ? ',' + conditionalFields.join(',') : '',
-      testUrl = App.get('isHadoop2Stack') ? '/data/dashboard/HDP2/master_components.json' : '/data/dashboard/services.json',
+      testUrl = '/data/dashboard/HDP2/master_components.json',
       isFlumeInstalled = App.cache['services'].mapProperty('ServiceInfo.service_name').contains('FLUME'),
       isATSInstalled = App.cache['services'].mapProperty('ServiceInfo.service_name').contains('YARN') && isATSPresent,
       flumeHandlerParam = isFlumeInstalled ? 'ServiceComponentInfo/component_name=FLUME_HANDLER|' : '',

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/admin/security.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security.js b/ambari-web/app/controllers/main/admin/security.js
index a38e264..98db521 100644
--- a/ambari-web/app/controllers/main/admin/security.js
+++ b/ambari-web/app/controllers/main/admin/security.js
@@ -62,13 +62,8 @@ App.MainAdminSecurityController = Em.Controller.extend({
     return [];
   }.property(''),
   services: function () {
-    var secureServices;
+    var secureServices = $.extend(true, [], require('data/HDP2/secure_configs'));
     var services = [];
-    if (App.get('isHadoop2Stack')) {
-      secureServices = $.extend(true, [], require('data/HDP2/secure_configs'));
-    } else {
-      secureServices = $.extend(true, [], require('data/secure_configs'));
-    }
 
     // Typically, ATS will support Kerberos in HDP 2.2 and higher
     if (this.get('content.isATSInstalled') && App.get('doesATSSupportKerberos')) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js b/ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js
index fc18f45..cf5fb77 100644
--- a/ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js
+++ b/ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js
@@ -47,17 +47,13 @@ App.AddSecurityController = App.WizardController.extend({
    * services with security configurations
    */
   secureServices: function () {
-    if (App.get('isHadoop2Stack')) {
-      var configCategories = require('data/HDP2/secure_configs');
-      if (this.get('content.isATSInstalled') && App.get('doesATSSupportKerberos')) {
-        var yarnConfigCategories = configCategories.findProperty('serviceName', 'YARN').configCategories;
-        yarnConfigCategories.push(App.ServiceConfigCategory.create({ name: 'AppTimelineServer', displayName : 'Application Timeline Service'}));
-      }
-      return configCategories;
-    } else {
-      return require('data/secure_configs');
+    var configCategories = require('data/HDP2/secure_configs');
+    if (this.get('content.isATSInstalled') && App.get('doesATSSupportKerberos')) {
+      var yarnConfigCategories = configCategories.findProperty('serviceName', 'YARN').configCategories;
+      yarnConfigCategories.push(App.ServiceConfigCategory.create({ name: 'AppTimelineServer', displayName : 'Application Timeline Service'}));
     }
-  }.property('App.isHadoop2Stack', 'App.router.clusterController.isLoaded'),
+    return configCategories;
+  }.property('App.router.clusterController.isLoaded'),
 
   /**
    * Loads all prior steps on refresh

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/admin/security/add/step3.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/add/step3.js b/ambari-web/app/controllers/main/admin/security/add/step3.js
index a450399..e6ef868 100644
--- a/ambari-web/app/controllers/main/admin/security/add/step3.js
+++ b/ambari-web/app/controllers/main/admin/security/add/step3.js
@@ -84,8 +84,7 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
         componentName: 'HIVE_SERVER',
         principal: 'hive_metastore_http_principal_name',
         keytab: 'hive_metastore_http_keytab',
-        displayName: Em.I18n.t('admin.addSecurity.hive.user.httpUser'),
-        isHadoop2Stack: true
+        displayName: Em.I18n.t('admin.addSecurity.hive.user.httpUser')
       },
       {
         componentName: 'OOZIE_SERVER',
@@ -103,29 +102,25 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
         componentName: 'HISTORYSERVER',
         principal: 'jobhistory_http_principal_name',
         keytab: 'jobhistory_http_keytab',
-        displayName: Em.I18n.t('admin.addSecurity.historyServer.user.httpUser'),
-        isHadoop2Stack: true
+        displayName: Em.I18n.t('admin.addSecurity.historyServer.user.httpUser')
       },
       {
         componentName: 'RESOURCEMANAGER',
         principal: 'resourcemanager_http_principal_name',
         keytab: 'resourcemanager_http_keytab',
-        displayName: Em.I18n.t('admin.addSecurity.rm.user.httpUser'),
-        isHadoop2Stack: true
+        displayName: Em.I18n.t('admin.addSecurity.rm.user.httpUser')
       },
       {
         componentName: 'NODEMANAGER',
         principal: 'nodemanager_http_principal_name',
         keytab: 'nodemanager_http_keytab',
-        displayName: Em.I18n.t('admin.addSecurity.nm.user.httpUser'),
-        isHadoop2Stack: true
+        displayName: Em.I18n.t('admin.addSecurity.nm.user.httpUser')
       },
       {
         componentName: 'APP_TIMELINE_SERVER',
         principal: 'apptimelineserver_http_principal_name',
         keytab: 'apptimelineserver_http_keytab',
-        displayName: Em.I18n.t('admin.addSecurity.user.yarn.atsHTTPUser'),
-        isHadoop2Stack: true
+        displayName: Em.I18n.t('admin.addSecurity.user.yarn.atsHTTPUser')
       },
       {
         componentName: 'STORM_UI_SERVER',
@@ -284,8 +279,6 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
 
     this.get('componentToConfigMap').forEach(function (component) {
       //add specific components that supported only in Hadoop2 stack
-      if (component.isHadoop2Stack && !App.get('isHadoop2Stack')) return;
-
       if (component.isHadoop22Stack && !App.get('isHadoop22Stack')) return;
 
       if (hostComponents.someProperty('componentName', component.componentName)) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/admin/security/disable.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/disable.js b/ambari-web/app/controllers/main/admin/security/disable.js
index 51b6f0e..728ba67 100644
--- a/ambari-web/app/controllers/main/admin/security/disable.js
+++ b/ambari-web/app/controllers/main/admin/security/disable.js
@@ -118,7 +118,7 @@ App.MainAdminSecurityDisableController = App.MainAdminSecurityProgressController
    * load secure configs of installed services
    */
   loadSecureServices: function () {
-    var secureServices = App.get('isHadoop2Stack') ? require('data/HDP2/secure_configs') : require('data/secure_configs');
+    var secureServices = require('data/HDP2/secure_configs');
     var installedServices = App.Service.find().mapProperty('serviceName');
     this.get('secureServices').pushObject(secureServices.findProperty('serviceName', 'GENERAL'));
     //General (only non service tab) tab is always displayed

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js b/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
index 75fcf38..bf93ee2 100644
--- a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
+++ b/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
@@ -44,17 +44,9 @@ App.MainAdminSecurityProgressController = Em.Controller.extend({
     }
   ],
 
-  secureMapping: function () {
-    return (App.get('isHadoop2Stack')) ? require('data/HDP2/secure_mapping') : require('data/secure_mapping');
-  }.property('App.isHadoop2Stack'),
+  secureMapping: require('data/HDP2/secure_mapping'),
 
-  secureProperties: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/secure_properties').configProperties;
-    } else {
-      return require('data/secure_properties').configProperties;
-    }
-  }.property('App.isHadoop2Stack'),
+  secureProperties: require('data/HDP2/secure_properties').configProperties,
 
   /**
    * prepare and restart failed command

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/apps/item_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/apps/item_controller.js b/ambari-web/app/controllers/main/apps/item_controller.js
deleted file mode 100644
index 02ad20a..0000000
--- a/ambari-web/app/controllers/main/apps/item_controller.js
+++ /dev/null
@@ -1,49 +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');
-
-App.MainAppsItemController = Em.Controller.extend({
-  name:'mainAppsItemController',
-  /**
-   * Was set outside in App.MainAppsView.
-   * It's instance of App.Run model
-   */
-  content: [],
-  jobsLoaded:false,
-
-  gettingJobs:function(){
-    var currentId = this.get('content.id');
-    if(this.get('content.loadAllJobs')){
-      return;
-    }
-    var self = this;
-
-    var url = App.get('testMode') ? '/data/apps/jobs/'+ currentId +'.json' :
-      App.apiPrefix + "/jobhistory/job?workflowId=" + currentId;
-
-    var mapper = App.jobsMapper;
-    mapper.set('controller', this);
-    App.HttpClient.get(url, mapper,{
-      complete:function(jqXHR, textStatus) {
-        self.set('content.loadAllJobs', true);
-      }
-    });
-  }.observes('content')
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/apps_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/apps_controller.js b/ambari-web/app/controllers/main/apps_controller.js
deleted file mode 100644
index 9cd0f59..0000000
--- a/ambari-web/app/controllers/main/apps_controller.js
+++ /dev/null
@@ -1,504 +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');
-var misc = require('utils/misc');
-var date = require('utils/date');
-
-App.MainAppsController = Em.ArrayController.extend({
-
-  name:'mainAppsController',
-  content: [],
-
-  loaded : false,
-  loading : false,
-
-  /**
-   * List of users.
-   * Will be used for filtering in user column.
-   * Go to App.MainAppsView.userFilterView for more information
-   */
-  users: function () {
-    return this.get('content').mapProperty("userName").uniq().map(function(userName){
-      return {
-        name: userName,
-        checked: false
-      };
-    });
-  }.property('content.length'),
-
-  loadRuns:function () {
-
-    this.set('loading', true);
-    var self = this;
-
-    //var runsUrl = App.testMode ? "/data/apps/runs.json" : App.apiPrefix + "/jobhistory/workflow?orderBy=startTime&sortDir=DESC&limit=" + App.maxRunsForAppBrowser;
-    var runsUrl = App.get('testMode') ? "/data/apps/runs.json" : App.get('apiPrefix') + this.get("runUrl");
-
-    App.HttpClient.get(runsUrl, App.runsMapper, {
-      complete:function (jqXHR, textStatus) {
-        self.set('loading', false);
-        self.set('loaded', true);
-      }
-    });
-  },
-
-  //Pagination Object
-
-  paginationObject:{
-    iTotalDisplayRecords :0,
-    iTotalRecords:0,
-    startIndex:0,
-    endIndex:0
-  },
-
-  /*
-   Set number of filtered jobs when switching to all jobs
-   */
-  iTotalDisplayRecordsObserver:function(){
-    if(this.get("filterObject.allFilterActivated")){
-      this.set("filterObject.allFilterActivated", false);
-    }else{
-      this.set("filterObject.filteredDisplayRecords",this.get("paginationObject.iTotalDisplayRecords"));
-    }
-  }.observes("paginationObject.iTotalDisplayRecords"),
-
-
-  //Filter object
-
-  filterObject : Ember.Object.create({
-    sSearch_0:"",
-    sSearch_1:"",
-    sSearch_2:"",
-    sSearch_3:"",
-    minJobs:"",
-    maxJobs:"",
-    minInputBytes:"",
-    maxInputBytes:"",
-    minOutputBytes:"",
-    maxOutputBytes:"",
-    minDuration:"",
-    maxDuration:"",
-    minStartTime:"",
-    maxStartTime:"",
-    sSearch:"",
-    iDisplayLength:"",
-    iDisplayStart:"",
-    iSortCol_0:"",
-    sSortDir_0:"",
-
-    allFilterActivated:false,
-    filteredDisplayRecords:null,
-
-    viewType:"all",
-    viewTypeClickEvent:false,
-
-    /**
-     * Direct binding to job filter field
-     */
-    runType:"",
-    onRunTypeChange:function(){
-      if(this.runType == "MapReduce"){
-        this.set("sSearch_2","mr");
-      }else if(this.runType == "Hive"){
-        this.set("sSearch_2","hive");
-      }else if(this.runType == "Pig"){
-        this.set("sSearch_2","pig");
-      }else{
-        this.set("sSearch_2","");
-      }
-    }.observes("runType"),
-
-    /**
-     * Direct binding to job filter field
-     */
-    jobs:"",
-    onJobsChange:function(){
-      var minMaxTmp = this.parseNumber(this.jobs);
-      this.set("minJobs", minMaxTmp.min);
-      this.set("maxJobs", minMaxTmp.max);
-    }.observes("jobs"),
-
-    /**
-     * Direct binding to Input filter field
-     */
-    input:"",
-    onInputChange:function(){
-      var minMaxTmp = this.parseBandWidth(this.input);
-      this.set("minInputBytes", minMaxTmp.min);
-      this.set("maxInputBytes", minMaxTmp.max);
-    }.observes("input"),
-
-    /**
-     * Direct binding to Output filter field
-     */
-    output:"",
-    onOutputChange:function(){
-      var minMaxTmp = this.parseBandWidth(this.output);
-      this.set("minOutputBytes", minMaxTmp.min);
-      this.set("maxOutputBytes", minMaxTmp.max);
-    }.observes("output"),
-
-    /**
-     * Direct binding to Duration filter field
-     */
-    duration:"",
-    onDurationChange:function(){
-      var minMaxTmp = this.parseDuration(this.duration);
-      this.set("minDuration", minMaxTmp.min);
-      this.set("maxDuration", minMaxTmp.max);
-    }.observes("duration"),
-
-    /**
-     * Direct binding to Run Date filter field
-     */
-    runDate:"",
-    onRunDateChange:function(){
-      var minMaxTmp = this.parseDate(this.runDate);
-      this.set("minStartTime", minMaxTmp.min);
-      this.set("maxStartTime", minMaxTmp.max);
-    }.observes("runDate"),
-
-    parseDuration:function(value){
-      var tmp={
-        min:"",
-        max:""
-      };
-
-      var compareChar = isNaN(value.charAt(0)) ? value.charAt(0) : false;
-      var compareScale = value.match(/s|m|h/);
-      compareScale = compareScale ? compareScale[0] : "";
-      var compareValue = compareChar ? parseFloat(value.substr(1, value.length)) : parseFloat(value.substr(0, value.length));
-      if(isNaN(compareValue)){
-        return tmp;
-      }
-      switch (compareScale) {
-        case 'h':
-        tmp.min = Math.ceil((parseFloat(compareValue)-0.0001)*1000*60*60);
-        tmp.max = Math.floor((parseFloat(compareValue)+0.0001)*1000*60*60);
-        break;
-        case 'm':
-        tmp.min = Math.ceil((parseFloat(compareValue)-0.001)*1000*60);
-        tmp.max = Math.floor((parseFloat(compareValue)+0.001)*1000*60);
-        break;
-        case 's':
-        tmp.min = Math.ceil((parseFloat(compareValue)-0.01)*1000);
-        tmp.max = Math.floor((parseFloat(compareValue)+0.01)*1000);
-        break;
-        default:
-          tmp.min = Math.ceil((parseFloat(compareValue)-0.01)*1000);
-          tmp.max = Math.floor((parseFloat(compareValue)+0.01)*1000);
-      }
-      switch (compareChar) {
-        case '<':
-          tmp.min="";
-          break;
-        case '>':
-          tmp.max="";
-          break;
-      }
-      return tmp;
-    },
-
-    parseDate:function(value){
-      var tmp={
-        min:"",
-        max:""
-      };
-      var nowTime = App.dateTime();
-
-      switch (value){
-        case 'Any':
-          break;
-        case 'Past 1 Day':
-          tmp.min= nowTime - 86400000;
-          break;
-        case 'Past 2 Days':
-          tmp.min= nowTime - 172800000;
-          break;
-        case 'Past 7 Days':
-          tmp.min= nowTime - 604800000;
-          break;
-        case 'Past 14 Days':
-          tmp.min= nowTime - 1209600000;
-          break;
-        case 'Past 30 Days':
-          tmp.min= nowTime - 2592000000;
-          break;
-        case 'Running Now':
-          tmp.min= nowTime;
-          break;
-      }
-      return tmp;
-    },
-
-    parseBandWidth:function(value){
-      var tmp={
-        min:"",
-        max:""
-      };
-
-      var compareChar = isNaN(value.charAt(0)) ? value.charAt(0) : false;
-      var compareScale = value.match(/kb|k|mb|m|gb|g/);
-      compareScale = compareScale ? compareScale[0] : "";
-      var compareValue = compareChar ? parseFloat(value.substr(1, value.length)) : parseFloat(value.substr(0, value.length));
-      if(isNaN(compareValue)){
-        return tmp;
-      }
-      switch (compareScale) {
-        case 'g': case 'gb':
-          tmp.min = Math.max(1073741824,Math.ceil((compareValue-0.005)*1073741824));
-          tmp.max = Math.floor((compareValue+0.005)*1073741824);
-          break;
-        case 'm': case 'mb':
-          tmp.min = Math.max(1048576,Math.ceil((compareValue-0.05)*1048576));
-          tmp.max = Math.min(1073741823,Math.floor((compareValue+0.05)*1048576));
-          break;
-        case 'k': case 'kb':
-          tmp.min = Math.max(1024,Math.ceil((compareValue-0.05)*1024));
-          tmp.max = Math.min(1048575,Math.floor((compareValue+0.05)*1024));
-          break;
-        default:
-          tmp.min = Math.max(1024,Math.ceil((compareValue-0.05)*1024));
-          tmp.max = Math.min(1048575,Math.floor((compareValue+0.05)*1024));
-      }
-      switch (compareChar) {
-        case '<':
-          tmp.min="";
-          break;
-        case '>':
-          tmp.max="";
-          break;
-      }
-      return tmp;
-    },
-    parseNumber:function(value){
-      var tmp={
-        min:"",
-        max:""
-      };
-      switch (value.charAt(0)) {
-        case '<':
-          tmp.max=value.substr(1);
-          break;
-        case '>':
-          tmp.min=value.substr(1);
-          break;
-        case '=':
-          tmp.min=value.substr(1);
-          tmp.max=value.substr(1);
-          break;
-        default:
-          tmp.min=value;
-          tmp.max=value;
-      }
-      return tmp;
-    },
-
-    /**
-     * Create link for server request
-     * @return {String}
-     */
-    createAppLink:function(){
-      var link = "/jobhistory/datatable?";
-
-
-      var arr = [
-        "sSearch_0", "sSearch_1", "sSearch_2", "sSearch_3", "minJobs",
-        "maxJobs", "minInputBytes", "maxInputBytes", "minOutputBytes",
-        "maxOutputBytes", "minDuration", "maxDuration", "minStartTime",
-        "maxStartTime", "sSearch", "iDisplayLength", "iDisplayStart",
-        "iSortCol_0", "sSortDir_0"
-      ];
-
-      var notFilterFields = ["iDisplayLength", "iDisplayStart", "iSortCol_0", "sSortDir_0"];
-
-      var filtersUsed = false;
-
-      for (var n=0; n<arr.length;n++) {
-        if(this.get(arr[n])){
-          link += arr[n] + "=" + this.get(arr[n]) + "&";
-          if (!notFilterFields.contains(arr[n])) {
-            filtersUsed = true;
-          }
-        }
-      }
-
-      link = link.slice(0,link.length-1);
-
-      if(!this.get("viewTypeClickEvent")) {
-        this.set('viewType', filtersUsed?'filtered':'all');
-      }
-
-      return link;
-    }
-  }),
-
-  /**
-   * reset all filters in table
-   *
-   */
-  clearFilters: function () {
-    var obj=this.get("filterObject");
-    obj.set("sSearch","");
-    obj.set("sSearch_0","");
-    obj.set("sSearch_1","");
-    obj.set("sSearch_2","");
-    obj.set("sSearch_3","");
-    obj.set("runType","Any");
-    obj.set("jobs","");
-    obj.set("input","");
-    obj.set("output","");
-    obj.set("duration","");
-    obj.set("runDate","Any");
-  },
-
-
-  runUrl : "/jobhistory/datatable",
-  runTimeout : null,
-
-  valueObserver: function(){
-    if(this.get('filterObject.iDisplayLength') > this.get('content.length')) {
-      this.set('filterObject.iDisplayStart', 0);
-    }
-    var link = this.get('filterObject').createAppLink();
-
-    if(this.get("filterObject.viewType") == "filtered"){
-      this.set("runUrl", link);
-    }else{
-      this.set("runUrl", "/jobhistory/datatable?iDisplayStart=" + this.get('filterObject.iDisplayStart') + "&iDisplayLength=" + this.get('filterObject.iDisplayLength') +
-         '&iSortCol_0=' + this.get('filterObject.iSortCol_0') + '&sSortDir_0=' + this.get('filterObject.sSortDir_0'));
-    }
-
-    var timeout = this.get('runTimeout');
-    var self = this;
-
-    clearTimeout(timeout);
-    timeout = setTimeout(function(){
-      console.log(self.get("runUrl"));
-      self.loadRuns();
-    }, 300);
-
-    this.set('runTimeout', timeout);
-
-  }.observes(
-      'filterObject.sSearch_0',
-      'filterObject.sSearch_1',
-      'filterObject.sSearch_2',
-      'filterObject.sSearch_3',
-      'filterObject.minJobs',
-      'filterObject.maxJobs',
-      'filterObject.minInputBytes',
-      'filterObject.maxInputBytes',
-      'filterObject.minOutputBytes',
-      'filterObject.maxOutputBytes',
-      'filterObject.minDuration',
-      'filterObject.maxDuration',
-      'filterObject.minStartTime',
-      'filterObject.maxStartTime',
-      'filterObject.sSearch',
-      'filterObject.iDisplayLength',
-      'filterObject.iDisplayStart',
-      'filterObject.iSortCol_0',
-      'filterObject.sSortDir_0',
-      'filterObject.viewType'
-  ),
-
-  serverData: "",
-  summary: null,
-
-  /**
-   * Observer for summary data from server
-   */
-  summaryInfo: function(){
-    var tmp;
-    var summary = this.get('serverData');
-    if(!summary){
-      tmp = {
-        'jobs': {
-          'avg': '-',
-          'min': '-',
-          'max': '-'
-        },
-        'input': {
-          'avg': '-',
-          'min': '-',
-          'max': '-'
-        },
-        'output': {
-          'avg': '-',
-          'min': '-',
-          'max': '-'
-        },
-        'duration': {
-          'avg': '-',
-          'min': '-',
-          'max': '-'
-        },
-        'times': {
-          'oldest': '-',
-          'youngest': '-'
-        }
-      };
-    }else{
-      tmp = {
-        'jobs': {
-          'avg': summary.jobs.avg.toFixed(2),
-          'min': summary.jobs.min,
-          'max': summary.jobs.max
-        },
-        'input': {
-          'avg': misc.formatBandwidth(summary.input.avg),
-          'min': misc.formatBandwidth(summary.input.min),
-          'max': misc.formatBandwidth(summary.input.max)
-        },
-        'output': {
-          'avg': misc.formatBandwidth(summary.output.avg),
-          'min': misc.formatBandwidth(summary.output.min),
-          'max': misc.formatBandwidth(summary.output.max)
-        },
-        'duration': {
-          'avg': date.timingFormat(Math.round(summary.duration.avg)),
-          'min': date.timingFormat(summary.duration.min),
-          'max': date.timingFormat(summary.duration.max)
-        },
-        'times': {
-          'oldest': new Date(summary.times.oldest).toDateString(),
-          'youngest': new Date(summary.times.youngest).toDateString()
-        }
-      };
-    }
-    this.set("summary",tmp);
-  }.observes('serverData'),
-
-
-  columnsName: Ember.ArrayController.create({
-    content: [
-      { name: Em.I18n.t('apps.table.column.appId'), index: 0 },
-      { name: Em.I18n.t('common.name'), index: 1 },
-      { name: Em.I18n.t('common.type'), index: 2 },
-      { name: Em.I18n.t('common.user'), index: 3 },
-      { name: Em.I18n.t('apps.avgTable.jobs'), index: 4 },
-      { name: Em.I18n.t('apps.avgTable.input'), index: 5 },
-      { name: Em.I18n.t('apps.avgTable.output'), index: 6 },
-      { name: Em.I18n.t('apps.avgTable.duration'), index: 7 },
-      { name: Em.I18n.t('apps.table.column.runDate'), index: 8 }
-    ]
-  })
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize.js b/ambari-web/app/controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize.js
index 7764ff1..a4eed4e 100644
--- a/ambari-web/app/controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize.js
+++ b/ambari-web/app/controllers/main/charts/heatmap_metrics/heatmap_metric_hbase_memstoresize.js
@@ -22,16 +22,8 @@ var App = require('app');
  */
 App.MainChartHeatmapHbaseMemStoreSize = App.MainChartHeatmapHbaseMetrics.extend({
   name: Em.I18n.t('charts.heatmap.metrics.HbaseRegionServerMemStoreSize'),
-  maximumValue: function() {
-    return App.get('isHadoop2Stack') ? 100*1024*1024 : 100;
-  }.property('App.isHadoop2Stack'),
-  defaultMetric: function() {
-    return App.get('isHadoop2Stack') ? 'metrics.hbase.regionserver.memstoreSize' : 'metrics.hbase.regionserver.memstoreSizeMB';
-  }.property('App.isHadoop2Stack'),
-  units: function() {
-    return App.get('isHadoop2Stack') ? 'B' : 'MB';
-  }.property('App.isHadoop2Stack'),
-  slotDefinitionLabelSuffix: function() {
-    return App.get('isHadoop2Stack') ? 'B' : 'MB';
-  }.property('App.isHadoop2Stack')
+  maximumValue: 100*1024*1024,
+  defaultMetric: 'metrics.hbase.regionserver.memstoreSize',
+  units: 'B',
+  slotDefinitionLabelSuffix: 'B'
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/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 3bf6fd0..2ba65a8 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -77,13 +77,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
     return  App.config.get('preDefinedSiteProperties');
   }.property('App.config.preDefinedSiteProperties'),
 
-  secureConfigs: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/secure_mapping');
-    } else {
-      return require('data/secure_mapping');
-    }
-  }.property('App.isHadoop2Stack'),
+  secureConfigs: require('data/HDP2/secure_mapping'),
 
   showConfigHistoryFeature: true,
   /**
@@ -1201,18 +1195,10 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
 
     if (serviceName === 'HDFS') {
       var hdfsConfigs = this.get('stepConfigs').findProperty('serviceName', 'HDFS').get('configs');
-      if (App.get('isHadoop2Stack')) {
-        if ((hdfsConfigs.findProperty('name', 'dfs.namenode.name.dir') && hdfsConfigs.findProperty('name', 'dfs.namenode.name.dir').get('isNotDefaultValue')) ||
-            (hdfsConfigs.findProperty('name', 'dfs.namenode.checkpoint.dir') && hdfsConfigs.findProperty('name', 'dfs.namenode.checkpoint.dir').get('isNotDefaultValue')) ||
-            (hdfsConfigs.findProperty('name', 'dfs.datanode.data.dir') && hdfsConfigs.findProperty('name', 'dfs.datanode.data.dir').get('isNotDefaultValue'))) {
-            dirChanged = true;
-        }
-      } else {
-        if ((hdfsConfigs.findProperty('name', 'dfs.name.dir') && hdfsConfigs.findProperty('name', 'dfs.name.dir').get('isNotDefaultValue')) ||
-            (hdfsConfigs.findProperty('name', 'fs.checkpoint.dir') && hdfsConfigs.findProperty('name', 'fs.checkpoint.dir').get('isNotDefaultValue')) ||
-            (hdfsConfigs.findProperty('name', 'dfs.data.dir') && hdfsConfigs.findProperty('name', 'dfs.data.dir').get('isNotDefaultValue'))) {
-             dirChanged = true;
-        }
+      if ((hdfsConfigs.findProperty('name', 'dfs.namenode.name.dir') && hdfsConfigs.findProperty('name', 'dfs.namenode.name.dir').get('isNotDefaultValue')) ||
+          (hdfsConfigs.findProperty('name', 'dfs.namenode.checkpoint.dir') && hdfsConfigs.findProperty('name', 'dfs.namenode.checkpoint.dir').get('isNotDefaultValue')) ||
+          (hdfsConfigs.findProperty('name', 'dfs.datanode.data.dir') && hdfsConfigs.findProperty('name', 'dfs.datanode.data.dir').get('isNotDefaultValue'))) {
+          dirChanged = true;
       }
     } else if (serviceName === 'MAPREDUCE') {
       var mapredConfigs = this.get('stepConfigs').findProperty('serviceName', 'MAPREDUCE').get('configs');

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/main/service/reassign/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/reassign/step4_controller.js b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
index b47d51e..90389d3 100644
--- a/ambari-web/app/controllers/main/service/reassign/step4_controller.js
+++ b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
@@ -210,11 +210,10 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro
    * @return {Boolean}
    */
   setAdditionalConfigs: function (configs, componentName, replaceValue) {
-    var isHadoop2Stack = App.get('isHadoop2Stack');
     var component = this.get('additionalConfigsMap').findProperty('componentName', componentName);
 
     if (Em.isNone(component)) return false;
-    var additionalConfigs = (component.configs_Hadoop2 && isHadoop2Stack) ? component.configs_Hadoop2 : component.configs;
+    var additionalConfigs = (component.configs_Hadoop2) ? component.configs_Hadoop2 : component.configs;
 
     for (var site in additionalConfigs) {
       if (additionalConfigs.hasOwnProperty(site)) {
@@ -602,7 +601,7 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro
   setSpecificNamenodeConfigs: function (configs, targetHostName) {
     var sourceHostName = this.get('content.reassignHosts.source');
 
-    if (App.get('isHadoop2Stack') && App.get('isHaEnabled')) {
+    if (App.get('isHaEnabled')) {
       var nameServices = configs['hdfs-site']['dfs.nameservices'];
       var suffix = (configs['hdfs-site']['dfs.namenode.http-address.' + nameServices + '.nn1'] === sourceHostName + ':50070') ? '.nn1' : '.nn2';
       configs['hdfs-site']['dfs.namenode.http-address.' + nameServices + suffix] = targetHostName + ':50070';
@@ -622,7 +621,7 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro
   setSpecificResourceMangerConfigs: function (configs, targetHostName) {
     var sourceHostName = this.get('content.reassignHosts.source');
 
-    if (App.get('isHadoop2Stack') && App.get('isRMHaEnabled')) {
+    if (App.get('isRMHaEnabled')) {
       if (configs['yarn-site']['yarn.resourcemanager.hostname.rm1'] === sourceHostName) {
         configs['yarn-site']['yarn.resourcemanager.hostname.rm1'] = targetHostName;
       } else {
@@ -660,10 +659,9 @@ App.ReassignMasterWizardStep4Controller = App.HighAvailabilityProgressPageContro
    */
   getComponentDir: function (configs, componentName) {
     if (componentName === 'NAMENODE') {
-      return (App.get('isHadoop2Stack')) ? configs['hdfs-site']['dfs.namenode.name.dir'] : configs['hdfs-site']['dfs.name.dir'];
-    }
-    else if (componentName === 'SECONDARY_NAMENODE') {
-      return (App.get('isHadoop2Stack')) ? configs['hdfs-site']['dfs.namenode.checkpoint.dir'] : configs['core-site']['fs.checkpoint.dir'];
+      return configs['hdfs-site']['dfs.namenode.name.dir'];
+    } else if (componentName === 'SECONDARY_NAMENODE') {
+      return configs['hdfs-site']['dfs.namenode.checkpoint.dir'];
     }
     return '';
   },

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/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 ea17226..4859c88 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -53,23 +53,15 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
   /**
    * used in services_config.js view to mark a config with security icon
    */
-  secureConfigs: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/secure_mapping');
-    } else {
-      return require('data/secure_mapping');
-    }
-  }.property('isHadoop2Stack'),
+  secureConfigs: require('data/HDP2/secure_mapping'),
 
   /**
    * config categories with secure properties
    * use only for add service wizard when security is enabled;
    */
   secureServices: function () {
-    return (App.get('isHadoop2Stack')) ?
-      $.extend(true, [], require('data/HDP2/secure_configs')) :
-      $.extend(true, [], require('data/secure_configs'));
-  }.property('App.isHadoop2Stack'),
+    return $.extend(true, [], require('data/HDP2/secure_configs'));
+  }.property(),
 
   /**
    * uses for add service - find out is security is enabled

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/controllers/wizard/step8_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step8_controller.js b/ambari-web/app/controllers/wizard/step8_controller.js
index fab6fea..35fae1d 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1793,7 +1793,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
     var miscConfigs = this.get('configs').filterProperty('serviceName', 'MISC'),
       createNotification = miscConfigs.findProperty('name', 'create_notification').value;
     if (createNotification !== 'yes') return;
-      var predefinedNotificationConfigNames = require('data/site_properties').configProperties.filterProperty('filename', 'alert_notification').mapProperty('name'),
+      var predefinedNotificationConfigNames = require('data/HDP2/site_properties').configProperties.filterProperty('filename', 'alert_notification').mapProperty('name'),
       configsForNotification = this.get('configs').filterProperty('filename', 'alert_notification');
     var properties = {},
       names = [

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/data/config_mapping.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/config_mapping.js b/ambari-web/app/data/config_mapping.js
deleted file mode 100644
index 7fcde38..0000000
--- a/ambari-web/app/data/config_mapping.js
+++ /dev/null
@@ -1,87 +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 configs = [
-  /**********************************************HDFS***************************************/
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": ["proxyuser_group"],
-    "foreignKey": ["hive_user"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["hivemetastore_host"],
-    "foreignKey": ["hive_user"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": [],
-    "foreignKey": ["oozie_user"],
-    "value": "*",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["oozieserver_host"],
-    "foreignKey": ["oozie_user"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": ["proxyuser_group"],
-    "foreignKey": ["webhcat_user"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["hivemetastore_host"],
-    "foreignKey": ["webhcat_user"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "isOverridable" : true
-  }
-];
-
-/**
- * Configs consists of 2 types: Computed values, which cannot be modified by user
- * and overridable values, which user can modify. We provide interface how to get all of this
- * configs separately
- * @type {Object}
- */
-module.exports = {
-  all : function(){
-    return configs.slice(0);
-  },
-  overridable: function(){
-    return configs.filterProperty('foreignKey');
-  },
-  computed: function(){
-    return configs.filterProperty('foreignKey', null);
-  }
-};

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/data/custom_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/custom_configs.js b/ambari-web/app/data/custom_configs.js
deleted file mode 100644
index b3d78aa..0000000
--- a/ambari-web/app/data/custom_configs.js
+++ /dev/null
@@ -1,205 +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.
- */
-
-
-module.exports =
-  [
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.capacity",
-      "displayName": "Capacity",
-      "value": '',
-      "defaultValue": '100',
-      "description": "Percentage of the number of slots in the cluster that are made to be available for jobs in this queue. The sum of capacities for all queues should be less than or equal 100.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "unit": "%",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "inTable": true,
-      "index": 1
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity",
-      "displayName": "Max Capacity",
-      "value": '',
-      "defaultValue": '100',
-      "displayType": "int",
-      "description": "Defines a limit beyond which a queue cannot use the capacity of the cluster." +
-        "This provides a means to limit how much excess capacity a queue can use. By default, there is no limit." +
-        "The Max Capacity of a queue can only be greater than or equal to its minimum capacity. " +
-        "This property could be to curtail certain jobs which are long running in nature from occupying more than a certain " +
-        "percentage of the cluster, which in the absence of pre-emption, could lead to capacity guarantees of other queues being affected. " +
-        "One important thing to note is that maximum-capacity is a percentage , so based on the cluster's capacity it would change. " +
-        "So if large no of nodes or racks get added to the cluster, Max Capacity in absolute terms would increase accordingly. ",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "unit": "%",
-      "valueRange": [0, 100],
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "inTable": true,
-      "index": 2
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.minimum-user-limit-percent",
-      "displayName": "Min User Limit",
-      "value": '',
-      "defaultValue": '100',
-      "displayType": "int",
-      "description": "Each queue enforces a limit on the percentage of resources allocated to a user at any given time, " +
-        "if there is competition for them. This user limit can vary between a minimum and maximum value. " +
-        "The former depends on the number of users who have submitted jobs, and the latter is set to this property value. " +
-        "For example, suppose the value of this property is 25. If two users have submitted jobs to a queue, no single user " +
-        "can use more than 50% of the queue resources. If a third user submits a job, no single user can use more than 33% of " +
-        "the queue resources. With 4 or more users, no user can use more than 25% of the queue's resources. " +
-        "A value of 100 implies no user limits are imposed.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "unit": "%",
-      "valueRange": [1, 100],
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "inTable": true,
-      "index": 9
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.user-limit-factor",
-      "displayName": "User Limit Factor",
-      "value": '',
-      "defaultValue": '1',
-      "displayType": "int",
-      "description": "The multiple of the queue capacity which can be configured to allow a single user to acquire more slots. " +
-        "By default this is set to 1 which ensure that a single user can never take more than the queue's configured capacity " +
-        "irrespective of how idle the cluster is.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "inTable": true,
-      "index": 8
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.supports-priority",
-      "displayName": "Supports Priority",
-      "value": 'false',
-      "defaultValue": 'false',
-      "displayType": "checkbox",
-      "description": "If true, priorities of jobs will be taken into account in scheduling decisions.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "inTable": true,
-      "index": 7
-    },
-    {
-      "id": "site property",
-      "name": "mapred.queue.<queue-name>.acl-submit-job",
-      "displayName": "",
-      "value": '',
-      "defaultValue": '*',
-      "description": "",
-      "isVisible": false,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'mapred-queue-acls.xml'
-    },
-    {
-      "id": "site property",
-      "name": "mapred.queue.<queue-name>.acl-administer-jobs",
-      "displayName": "",
-      "value": '',
-      "defaultValue": '*',
-      "description": "",
-      "isVisible": false,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'mapred-queue-acls.xml'
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks",
-      "displayName": "Max initialized active tasks",
-      "value": '',
-      "defaultValue": '200000',
-      "displayType": "int",
-      "description": "The maximum number of tasks, across all jobs in the queue, which can be initialized concurrently. " +
-        "Once the queue's jobs exceed this limit they will be queued on disk.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "index": 10
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks-per-user",
-      "displayName": "Max initialized active tasks per user",
-      "value": '',
-      "defaultValue": '100000',
-      "displayType": "int",
-      "description": "The maximum number of tasks per-user, across all the of the user's jobs in the queue, which " +
-        "can be initialized concurrently. Once the user's jobs exceed this limit they will be queued on disk.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "index": 11
-    },
-    {
-      "id": "site property",
-      "name": "mapred.capacity-scheduler.queue.<queue-name>.init-accept-jobs-factor",
-      "displayName": "Init accept jobs factor",
-      "value": '',
-      "defaultValue": '10',
-      "displayType": "int",
-      "description": "The multiple of (maximum-system-jobs * queue-capacity) used to determine the number of " +
-        "jobs which are accepted by the scheduler. The default value is 10. If number of jobs submitted to " +
-        "the queue exceeds this limit, job submission are rejected.",
-      "isVisible": true,
-      "isRequired": true,
-      "serviceName": "MAPREDUCE",
-      "category": "CapacityScheduler",
-      "isQueue": true,
-      "filename": 'capacity-scheduler.xml',
-      "index": 12
-    }
-  ];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/data/secure_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/secure_configs.js b/ambari-web/app/data/secure_configs.js
deleted file mode 100644
index c6079c8..0000000
--- a/ambari-web/app/data/secure_configs.js
+++ /dev/null
@@ -1,114 +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');
-require('models/service_config');
-App.SecureConfigProperties = Ember.ArrayProxy.extend({
-  content: require('data/secure_properties').configProperties
-});
-
-var configProperties = App.SecureConfigProperties.create();
-
-module.exports = [
-  {
-    serviceName: 'GENERAL',
-    displayName: 'General',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'KERBEROS', displayName: 'Kerberos'}),
-      App.ServiceConfigCategory.create({ name: 'AMBARI', displayName: 'Ambari'})
-    ],
-    sites: ['cluster-env'],
-    configs: configProperties.filterProperty('serviceName', 'GENERAL')
-  },
-  {
-    serviceName: 'HDFS',
-    displayName: 'HDFS',
-    filename: 'hdfs-site',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
-      App.ServiceConfigCategory.create({ name: 'NameNode', displayName: 'NameNode'}),
-      App.ServiceConfigCategory.create({ name: 'SNameNode', displayName: 'Secondary NameNode'}),
-      App.ServiceConfigCategory.create({ name: 'DataNode', displayName: 'DataNode'})
-    ],
-    sites: ['hadoop-env','core-site', 'hdfs-site'],
-    configs: configProperties.filterProperty('serviceName', 'HDFS')
-  },
-  {
-    serviceName: 'MAPREDUCE',
-    displayName: 'MapReduce',
-    filename: 'mapred-site',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'JobTracker', displayName: 'JobTracker'}),
-      App.ServiceConfigCategory.create({ name: 'JobHistoryServer', displayName: 'History Server'}),
-      App.ServiceConfigCategory.create({ name: 'TaskTracker', displayName: 'TaskTracker'})
-    ],
-    sites: ['mapred-site'],
-    configs: configProperties.filterProperty('serviceName', 'MAPREDUCE')
-  },
-  {
-    serviceName: 'HIVE',
-    displayName: 'Hive',
-    filename: 'hive-site',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'Hive Metastore', displayName: 'Hive Metastore and Hive Server 2'}),
-      App.ServiceConfigCategory.create({ name: 'WebHCat Server', displayName : 'WebHCat Server'})
-    ],
-    sites: ['hive-site','webhcat-site'],
-    configs: configProperties.filterProperty('serviceName', 'HIVE')
-  },
-  {
-    serviceName: 'HBASE',
-    displayName: 'HBase',
-    filename: 'hbase-site',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'HBase Master', displayName: 'HBase Master'}),
-      App.ServiceConfigCategory.create({ name: 'RegionServer', displayName: 'RegionServer'})
-    ],
-    sites: ['hbase-env','hbase-site'],
-    configs: configProperties.filterProperty('serviceName', 'HBASE')
-  },
-  {
-    serviceName: 'ZOOKEEPER',
-    displayName: 'ZooKeeper',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'ZooKeeper Server', displayName: 'ZooKeeper Server'})
-    ],
-    sites: ['zookeeper-env'],
-    configs: configProperties.filterProperty('serviceName', 'ZOOKEEPER')
-
-  },
-  {
-    serviceName: 'OOZIE',
-    displayName: 'Oozie',
-    filename: 'oozie-site',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'Oozie Server', displayName:  'Oozie Server'})
-    ],
-    sites: ['oozie-env','oozie-site'],
-    configs: configProperties.filterProperty('serviceName', 'OOZIE')
-  },
-  {
-    serviceName: 'NAGIOS',
-    displayName: 'Nagios',
-    configCategories: [
-      App.ServiceConfigCategory.create({ name: 'Nagios Server', displayName:  'Nagios Server'})
-    ],
-    sites: ['nagios-env'],
-    configs: configProperties.filterProperty('serviceName', 'NAGIOS')
-  }
-
-];

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/data/secure_mapping.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/secure_mapping.js b/ambari-web/app/data/secure_mapping.js
deleted file mode 100644
index cfca947..0000000
--- a/ambari-web/app/data/secure_mapping.js
+++ /dev/null
@@ -1,519 +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.
- */
-
-module.exports = [
-  {
-    "name": "hadoop.security.authentication",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "kerberos",
-    "nonSecureValue": "simple",
-    "filename": "core-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "hadoop.security.authorization",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "nonSecureValue": "false",
-    "filename": "core-site.xml",
-    "serviceName": "HDFS"
-  },
-
-  {
-    "name": "hadoop.security.auth_to_local",
-    "templateName": ["jobtracker_primary_name", "kerberos_domain", "mapred_user", "tasktracker_primary_name", "namenode_primary_name", "hdfs_user", "datanode_primary_name", "hbase_master_primary_name", "hbase_user","hbase_regionserver_primary_name","oozie_primary_name","oozie_user","jobhistory_primary_name"],
-    "foreignKey": null,
-    "value": "RULE:[2:$1@$0](<templateName[0]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[3]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[4]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[6]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[10]>@.*<templateName[1]>)s/.*/<templateName[11]>/\nRULE:[2:$1@$0](<templateName[12]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nDEFAULT",
-    "filename": "core-site.xml",
-    "serviceName": "HDFS",
-    "dependedServiceName": [{name: "HBASE", replace: "\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/"},{name: "OOZIE",replace: "\nRULE:[2:$1@$0](<templateName[10]>@.*<templateName[1]>)s/.*/<templateName[11]>/"}]
-  },
-  {
-    "name": "dfs.namenode.kerberos.principal",
-    "templateName": ["namenode_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.namenode.keytab.file",
-    "templateName": ["namenode_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.secondary.namenode.kerberos.principal",
-    "templateName": ["snamenode_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.secondary.namenode.keytab.file",
-    "templateName": ["snamenode_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.web.authentication.kerberos.principal",
-    "templateName": ["hadoop_http_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.web.authentication.kerberos.keytab",
-    "templateName": ["hadoop_http_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.datanode.kerberos.principal",
-    "templateName": ["datanode_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.datanode.keytab.file",
-    "templateName": ["datanode_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.namenode.kerberos.internal.spnego.principal",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "${dfs.web.authentication.kerberos.principal}",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.secondary.namenode.kerberos.internal.spnego.principal",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "${dfs.web.authentication.kerberos.principal}",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.datanode.address",
-    "templateName": ["dfs_datanode_address"],
-    "foreignKey": null,
-    "value": "0.0.0.0:<templateName[0]>",
-    "nonSecureValue": "0.0.0.0:50010",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "dfs.datanode.http.address",
-    "templateName": ["dfs_datanode_http_address"],
-    "foreignKey": null,
-    "value": "0.0.0.0:<templateName[0]>",
-    "nonSecureValue": "0.0.0.0:50075",
-    "filename": "hdfs-site.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "mapreduce.jobtracker.kerberos.principal",
-    "templateName": ["jobtracker_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapreduce.jobtracker.keytab.file",
-    "templateName": ["jobtracker_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapreduce.jobhistory.kerberos.principal",
-    "templateName": ["jobhistory_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapreduce.jobhistory.keytab.file",
-    "templateName": ["jobhistory_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapreduce.tasktracker.kerberos.principal",
-    "templateName": ["tasktracker_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapreduce.tasktracker.keytab.file",
-    "templateName": ["tasktracker_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "mapred.task.tracker.task-controller",
-    "templateName": ["tasktracker_task_controller"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "nonSecureValue": "org.apache.hadoop.mapred.DefaultTaskController",
-    "filename": "mapred-site.xml",
-    "serviceName": "MAPREDUCE"
-  },
-  {
-    "name": "hbase.master.kerberos.principal",
-    "templateName": ["hbase_master_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.master.keytab.file",
-    "templateName": ["hbase_master_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.regionserver.kerberos.principal",
-    "templateName": ["hbase_regionserver_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.regionserver.keytab.file",
-    "templateName": ["hbase_regionserver_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hive.metastore.sasl.enabled",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "nonSecureValue": "false",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.security.authorization.enabled",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "nonSecureValue": "false",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.server2.authentication",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "KERBEROS",
-    "nonSecureValue": "NONE",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.metastore.kerberos.principal",
-    "templateName": ["hive_metastore_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.metastore.kerberos.keytab.file",
-    "templateName": ["hive_metastore_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.server2.authentication.kerberos.principal",
-    "templateName": ["hive_metastore_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hive.server2.authentication.kerberos.keytab",
-    "templateName": ["hive_metastore_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "hive-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "oozie.service.AuthorizationService.authorization.enabled",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.service.HadoopAccessorService.kerberos.enabled",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "nonSecureValue": "false",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "local.realm",
-    "templateName": ["kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.service.HadoopAccessorService.keytab.file",
-    "templateName": ["oozie_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.service.HadoopAccessorService.kerberos.principal",
-    "templateName": ["oozie_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.authentication.type",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "kerberos",
-    "nonSecureValue": "simple",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.authentication.kerberos.principal",
-    "templateName": ["oozie_http_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.authentication.kerberos.keytab",
-    "templateName": ["oozie_http_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "oozie.authentication.kerberos.name.rules",
-    "templateName": ["jobtracker_primary_name", "kerberos_domain", "mapred_user", "tasktracker_primary_name", "namenode_primary_name", "hdfs_user", "datanode_primary_name", "hbase_master_primary_name", "hbase_user","hbase_regionserver_primary_name", "jobhistory_primary_name"],
-    "foreignKey": null,
-    "value": "RULE:[2:$1@$0](<templateName[0]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[3]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[4]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[6]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[10]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nDEFAULT",
-    "filename": "oozie-site.xml",
-    "serviceName": "OOZIE",
-    "dependedServiceName": [{name: "HBASE", replace: "\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/"}]
-  },
-  {
-    "name": "templeton.kerberos.principal",
-    "templateName": ["webHCat_http_principal_name", "kerberos_domain"],
-    "foreignKey": null,
-    "value": "<templateName[0]>@<templateName[1]>",
-    "filename": "webhcat-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "templeton.kerberos.keytab",
-    "templateName": ["webhcat_http_keytab"],
-    "foreignKey": null,
-    "value": "<templateName[0]>",
-    "filename": "webhcat-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "templeton.kerberos.secret",
-    "templateName": [""],
-    "foreignKey": null,
-    "value": "secret",
-    "filename": "webhcat-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "templeton.hive.properties",
-    "templateName": ["hivemetastore_host","hive_metastore_principal_name","kerberos_domain"],
-    "foreignKey": null,
-    "value": "hive.metastore.local=false,hive.metastore.uris=thrift://<templateName[0]>:9083,hive." +
-      "metastore.sasl.enabled=true,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse,hive.exec.mode.local.auto=false,hive.metastore.kerberos.principal=<templateName[1]>@<templateName[2]>",
-    "filename": "webhcat-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hbase.coprocessor.master.classes",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "org.apache.hadoop.hbase.security.access.AccessController",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.coprocessor.region.classes",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.hadoop.hbase.security.access.AccessController",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.security.authentication",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "kerberos",
-    "nonSecureValue": "simple",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.rpc.engine",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "org.apache.hadoop.hbase.ipc.SecureRpcEngine",
-    "nonSecureValue": "org.apache.hadoop.hbase.ipc.WritableRpcEngine",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.security.authorization",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "true",
-    "nonSecureValue": "false",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.coprocessor.region.classes",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.hadoop.hbase.security.access.AccessController",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hbase.bulkload.staging.dir",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "/apps/hbase/staging",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "zookeeper.znode.parent",
-    "templateName": [],
-    "foreignKey": null,
-    "value": "/hbase-secure",
-    "nonSecureValue": "/hbase-unsecure",
-    "filename": "hbase-site.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": ["proxyuser_group"],
-    "foreignKey": ["hive_metastore_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["hivemetastore_host"],
-    "foreignKey": ["hive_metastore_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": ["proxyuser_group"],
-    "foreignKey": ["oozie_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["oozieserver_host"],
-    "foreignKey": ["oozie_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "OOZIE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
-    "templateName": ["proxyuser_group"],
-    "foreignKey": ["webHCat_http_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
-    "templateName": ["webhcat_server"],
-    "foreignKey": ["webHCat_http_primary_name"],
-    "value": "<templateName[0]>",
-    "filename": "core-site.xml",
-    "serviceName": "HIVE"
-  }
-];
-