ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ababiic...@apache.org
Subject [6/6] ambari git commit: AMBARI-11216 Refactor service-config 'defaultValue' property into 'savedValue' and 'recommendedValue'. (ababiichuk)
Date Mon, 18 May 2015 16:34:35 GMT
AMBARI-11216 Refactor service-config 'defaultValue' property into 'savedValue' and 'recommendedValue'. (ababiichuk)


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

Branch: refs/heads/trunk
Commit: 07616603c4388c0a9c1dc769659de92edb64b2cb
Parents: 49ecd6b
Author: aBabiichuk <ababiichuk@cybervisiontech.com>
Authored: Mon May 18 17:46:41 2015 +0300
Committer: aBabiichuk <ababiichuk@cybervisiontech.com>
Committed: Mon May 18 19:10:40 2015 +0300

----------------------------------------------------------------------
 .../nameNode/step3_controller.js                |   2 +-
 .../resourceManager/step3_controller.js         |  14 +-
 .../app/controllers/main/admin/kerberos.js      |   2 +-
 .../main/admin/kerberos/step4_controller.js     |  10 +-
 .../controllers/main/service/info/configs.js    |  14 +-
 ambari-web/app/controllers/wizard.js            |  13 +-
 .../app/controllers/wizard/step7_controller.js  |  33 +-
 .../app/controllers/wizard/step8_controller.js  | 119 -------
 ambari-web/app/data/BIGTOP/site_properties.js   | 264 +++++++-------
 ambari-web/app/data/HDP2.2/site_properties.js   |  66 ++--
 ambari-web/app/data/HDP2.3/site_properties.js   |  60 ++--
 ambari-web/app/data/HDP2/custom_configs.js      | 127 -------
 ambari-web/app/data/HDP2/ha_properties.js       |  34 +-
 ambari-web/app/data/HDP2/rm_ha_properties.js    |  26 +-
 ambari-web/app/data/HDP2/secure_properties.js   | 176 +++++-----
 ambari-web/app/data/HDP2/site_properties.js     | 348 ++++++++++---------
 ambari-web/app/data/PHD/site_properties.js      | 250 ++++++-------
 .../mappers/configs/config_versions_mapper.js   |   4 +-
 .../configs/stack_config_properties_mapper.js   |   6 +-
 ambari-web/app/messages.js                      |   1 +
 .../app/mixins/common/configs/configs_saver.js  | 118 +------
 .../mixins/common/configs/enhanced_configs.js   |  82 ++++-
 .../app/models/configs/config_property.js       |  23 +-
 .../models/configs/objects/service_config.js    |   3 +-
 .../configs/objects/service_config_property.js  |  84 ++++-
 .../app/models/configs/stack_config_property.js |   8 +-
 .../modal_popups/dependent_configs_list.hbs     |   8 +-
 ambari-web/app/utils/config.js                  |  92 +++--
 .../app/utils/configs/config_property_helper.js |  66 ++--
 ambari-web/app/views.js                         |   1 -
 .../configs/service_configs_by_category_view.js |  19 +-
 .../widgets/checkbox_config_widget_view.js      |   7 -
 .../configs/widgets/combo_config_widget_view.js |   3 +-
 .../configs/widgets/config_widget_view.js       |  33 +-
 .../widgets/directory_config_widget_view.js     |   1 +
 .../configs/widgets/list_config_widget_view.js  |   2 +-
 .../configs/widgets/plain_config_text_field.js  |   2 +-
 .../widgets/slider_config_widget_view.js        |  24 +-
 .../widgets/time_interval_spinner_view.js       |  10 +-
 .../widgets/toggle_config_widget_view.js        |   1 +
 ambari-web/app/views/common/controls_view.js    |  16 +-
 .../views/common/modal_popups/prompt_popup.js   |  54 ---
 .../resourceManager/step3_controller_test.js    |  14 +-
 .../admin/kerberos/step4_controller_test.js     |   4 +-
 .../main/service/info/config_test.js            | 132 -------
 .../test/controllers/wizard/step7_test.js       |  64 ++--
 .../test/controllers/wizard/step8_test.js       | 134 +------
 ambari-web/test/controllers/wizard_test.js      |   2 +-
 .../test/data/HDP2/site_properties_test.js      |   6 +-
 .../configs/config_versions_mapper_test.js      |   4 +-
 .../stack_config_properties_mapper_test.js      |   4 +-
 .../test/mock_data_setup/configs_mock_data.js   |  16 +-
 .../test/models/configs/config_property_test.js |   2 +-
 .../objects/service_config_property_test.js     |   8 +-
 ambari-web/test/utils/config_test.js            |  40 +--
 .../configs/config_property_helper_test.js      |  46 +--
 .../service_configs_by_category_view_test.js    |   8 +-
 .../widgets/list_config_widget_view_test.js     |   4 +-
 .../widgets/slider_config_widget_view_test.js   |   6 +-
 .../widgets/toggle_config_widget_view_test.js   |   2 +-
 .../test/views/common/controls_view_test.js     |  10 +-
 61 files changed, 1079 insertions(+), 1653 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
index 83b3ee7..193b89f 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
@@ -164,7 +164,7 @@ App.HighAvailabilityWizardStep3Controller = Em.Controller.extend({
 
   setConfigInitialValue: function(config,value) {
     config.value = value;
-    config.defaultValue = value;
+    config.recommendedValue = value;
   },
 
   renderServiceConfigs: function (_serviceConfig) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
index 7a2e250..6296f02 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
@@ -123,25 +123,25 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend({
         return item.get('hostName') + ':' + zkPort;
       }).join(',');
 
-    configProperties.findProperty('name', 'yarn.resourcemanager.hostname.rm1').set('value', currentRMHost).set('defaultValue', currentRMHost);
-    configProperties.findProperty('name', 'yarn.resourcemanager.hostname.rm2').set('value', additionalRMHost).set('defaultValue', additionalRMHost);
-    configProperties.findProperty('name', 'yarn.resourcemanager.zk-address').set('value', zooKeeperHostsWithPort).set('defaultValue', zooKeeperHostsWithPort);
+    configProperties.findProperty('name', 'yarn.resourcemanager.hostname.rm1').set('value', currentRMHost).set('recommendedValue', currentRMHost);
+    configProperties.findProperty('name', 'yarn.resourcemanager.hostname.rm2').set('value', additionalRMHost).set('recommendedValue', additionalRMHost);
+    configProperties.findProperty('name', 'yarn.resourcemanager.zk-address').set('value', zooKeeperHostsWithPort).set('recommendedValue', zooKeeperHostsWithPort);
 
     configProperties.findProperty('name', 'yarn.resourcemanager.webapp.address.rm1')
       .set('value', currentRMHost + webAddressPort)
-      .set('defaultValue', currentRMHost + webAddressPort);
+      .set('recommendedValue', currentRMHost + webAddressPort);
 
     configProperties.findProperty('name', 'yarn.resourcemanager.webapp.address.rm2')
       .set('value', additionalRMHost + webAddressPort)
-      .set('defaultValue', additionalRMHost + webAddressPort);
+      .set('recommendedValue', additionalRMHost + webAddressPort);
 
     configProperties.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm1')
       .set('value', currentRMHost + httpsWebAddressPort)
-      .set('defaultValue', currentRMHost + httpsWebAddressPort);
+      .set('recommendedValue', currentRMHost + httpsWebAddressPort);
 
     configProperties.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm2')
       .set('value', additionalRMHost + httpsWebAddressPort)
-      .set('defaultValue', additionalRMHost + httpsWebAddressPort);
+      .set('recommendedValue', additionalRMHost + httpsWebAddressPort);
   },
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/controllers/main/admin/kerberos.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos.js b/ambari-web/app/controllers/main/admin/kerberos.js
index 702d585..47ca736 100644
--- a/ambari-web/app/controllers/main/admin/kerberos.js
+++ b/ambari-web/app/controllers/main/admin/kerberos.js
@@ -326,7 +326,7 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
       if (property.get('observesValueFrom')) {
         var observedValue = allConfigs.findProperty('name', property.get('observesValueFrom')).get('value');
         property.set('value', observedValue);
-        property.set('defaultValue', observedValue);
+        property.set('recommendedValue', observedValue);
       }
       if (property.get('serviceName') == 'Cluster') {
         property.set('category', 'Global');

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
index 47a4107..a48baaf 100644
--- a/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
+++ b/ambari-web/app/controllers/main/admin/kerberos/step4_controller.js
@@ -143,7 +143,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
       this.get('adminPropertyNames').forEach(function(item) {
         var property = storedServiceConfigs.filterProperty('filename', 'krb5-conf.xml').findProperty('name', item.name);
         if (!!property) {
-          var _prop = App.ServiceConfigProperty.create($.extend({}, property, { name: item.name, value: '', defaultValue: '', serviceName: 'Cluster', displayName: item.displayName}));
+          var _prop = App.ServiceConfigProperty.create($.extend({}, property, { name: item.name, value: '', recommendedValue: '', serviceName: 'Cluster', displayName: item.displayName}));
           _prop.validate();
           adminProps.push(_prop);
         }
@@ -156,7 +156,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
     if (this.get('wizardController.name') != 'addServiceController') {
       var realmValue = storedServiceConfigs.findProperty('name', 'realm').value;
       configProperties.findProperty('name', 'realm').set('value', realmValue);
-      configProperties.findProperty('name', 'realm').set('defaultValue', realmValue);
+      configProperties.findProperty('name', 'realm').set('recommendedValue', realmValue);
     }
 
     configProperties.setEach('isSecureConfig', false);
@@ -167,7 +167,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
       if (property.get('observesValueFrom')) {
         var observedValue = allConfigs.findProperty('name', property.get('observesValueFrom')).get('value');
         property.set('value', observedValue);
-        property.set('defaultValue', observedValue);
+        property.set('recommendedValue', observedValue);
       }
       if (property.get('serviceName') == 'Cluster') {
         property.set('category', 'Global');
@@ -211,7 +211,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
         }
         var configValue =  config.value.replace(/thrift.+[0-9]{2,},/i, hiveMSHostNames.join('\\,') + ",");
         config.set('value', configValue);
-        config.set('defaultValue', configValue);
+        config.set('recommendedValue', configValue);
       }
     }
   },
@@ -228,7 +228,7 @@ App.KerberosWizardStep4Controller = App.WizardStep7Controller.extend(App.AddSecu
       if (config.get('observesValueFrom') == configProperty.get('name')) {
         Em.run.once(self, function() {
           config.set('value', configProperty.get('value'));
-          config.set('defaultValue', configProperty.get('value'));
+          config.set('recommendedValue', configProperty.get('value'));
         });
       }
     });

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 abd7048..8ca6840 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -442,13 +442,13 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
           name: advanced.get('name'),
           displayName: advanced.get('displayName'),
           value: advanced.get('value'),
-          defaultValue: advanced.get('defaultValue'),
+          savedValue: null,
           filename: advanced.get('fileName'),
           isUserProperty: false,
           isNotSaved: true,
           recommendedValue: advanced.get('value'),
           isFinal: advanced.get('isFinal'),
-          defaultIsFinal: advanced.get('defaultIsFinal'),
+          recommendedIsFinal: advanced.get('recommendedIsFinal'),
           serviceName: advanced.get('serviceName'),
           supportsFinal: advanced.get('supportsFinal'),
           category: 'Advanced ' + App.config.getConfigTagFromFileName(advanced.get('fileName')),
@@ -1029,8 +1029,11 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
   createNewSCP: function (override, _serviceConfigProperty, serviceConfigProperty, defaultGroupSelected) {
     var newSCP = App.ServiceConfigProperty.create(_serviceConfigProperty, {
       value: Em.get(override, 'value'),
-      defaultValue: Em.get(override, 'value'),
+      savedValue: Em.get(override, 'value'),
+      recommendedValue: serviceConfigProperty.get('recommendedValue'),
       isFinal: Em.get(override, 'isFinal'),
+      savedIsFinal: Em.get(override, 'isFinal'),
+      recommendedIsFinal: serviceConfigProperty.get('recommendedIsFinal'),
       group: Em.get(override, 'group'),
       supportsFinal: serviceConfigProperty.get('supportsFinal'),
       isOriginalSCP: false,
@@ -1210,7 +1213,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
     var serviceConfigs = this.get('serviceConfigs').findProperty('serviceName', serviceName).get('configs');
     var hostConfig = serviceConfigs.findProperty('name', hostProperty);
     if (hostConfig) {
-      hostConfig.defaultValue = this.getMasterComponentHostValue(componentName, multiple);
+      hostConfig.recommendedValue = this.getMasterComponentHostValue(componentName, multiple);
       configs.push(hostConfig);
     }
   },
@@ -1347,7 +1350,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
       // create new override with new value
       var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty, {
         value: value || '',
-        defaultValue: serviceConfigProperty.get('defaultValue'),
+        recommendedValue: serviceConfigProperty.get('recommendedValue'),
+        recommendedIsFinal: serviceConfigProperty.get('recommendedIsFinal'),
         isOriginalSCP: false,
         parentSCP: serviceConfigProperty,
         isEditable: true,

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index 22d3bbc..8a3c15c 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -892,13 +892,14 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
           name: _configProperties.get('name'),
           displayName: _configProperties.get('displayName'),
           value: _configProperties.get('value'),
-          defaultValue: _configProperties.get('defaultValue'),
+          savedValue: _configProperties.get('savedValue'),
+          recommendedValue: _configProperties.get('recommendedValue'),
           description: _configProperties.get('description'),
           serviceName: _configProperties.get('serviceName'),
           domain: _configProperties.get('domain'),
           isVisible: _configProperties.get('isVisible'),
           isFinal: _configProperties.get('isFinal'),
-          defaultIsFinal: _configProperties.get('isFinal'),
+          recommendedIsFinal: _configProperties.get('isFinal'),
           supportsFinal: _configProperties.get('supportsFinal'),
           filename: _configProperties.get('filename'),
           displayType: _configProperties.get('displayType'),
@@ -915,7 +916,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
       if (stepController.get('installedServiceNames') && stepController.get('installedServiceNames').contains(_content.get('serviceName'))) {
         // get only modified configs
         var configs = _content.get('configs').filter(function (config) {
-          if (config.get('isNotDefaultValue') || (config.get('defaultValue') === null)) {
+          if (config.get('isNotDefaultValue') || (config.get('savedValue') === null)) {
             var notAllowed = ['masterHost', 'masterHosts', 'slaveHosts', 'slaveHost'];
             return !notAllowed.contains(config.get('displayType')) && !!config.filename;
           }
@@ -925,12 +926,6 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
         if (configs.length) {
           fileNamesToUpdate = fileNamesToUpdate.concat(configs.mapProperty('filename').uniq());
         }
-        // watch for properties that are not modified but have to be updated
-        if (_content.get('configs').someProperty('forceUpdate')) {
-          // check for already added modified properties
-          var forceUpdatedFileNames = _content.get('configs').filterProperty('forceUpdate', true).mapProperty('filename').uniq();
-          fileNamesToUpdate = fileNamesToUpdate.concat(forceUpdatedFileNames).uniq();
-        }
       }
     }, this);
     this.setDBProperty('serviceConfigProperties', serviceConfigProperties);

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 bc716b5..1325069 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -559,9 +559,8 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
         if (!Em.isNone(config.value)) {
           var replaceStr = config.value.match(/.jar=host[^,]+/)[0];
           var replaceWith = replaceStr.slice(0, replaceStr.lastIndexOf('=') - replaceStr.length + 1) + gangliaServerHost;
-          config.value = config.defaultValue = config.value.replace(replaceStr, replaceWith);
+          config.value = config.recommendedValue = config.value.replace(replaceStr, replaceWith);
         }
-        config.forceUpdate = true;
       }, this);
     }
   },
@@ -578,9 +577,8 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
     if (cfgToChange) {
       var res = this.get('allSelectedServiceNames').contains('SLIDER');
       if (Em.get(cfgToChange, 'value') !== res) {
-        Em.set(cfgToChange, 'defaultValue', res);
+        Em.set(cfgToChange, 'recommendedValue', res);
         Em.set(cfgToChange, 'value', res);
-        Em.set(cfgToChange, 'forceUpdate', true);
       }
     }
   },
@@ -625,7 +623,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
 
   applyServicesConfigs: function (configs, storedConfigs) {
     if (this.get('allSelectedServiceNames').contains('YARN')) {
-      configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml');
+      configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml', []);
     }
     var dependedServices = ["STORM", "YARN"];
     dependedServices.forEach(function (serviceName) {
@@ -635,14 +633,13 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
     }, this);
     //STEP 6: Distribute configs by service and wrap each one in App.ServiceConfigProperty (configs -> serviceConfigs)
     var self = this;
+    if (self.get('securityEnabled') && self.get('wizardController.name') == 'addServiceController') {
+      self.addKerberosDescriptorConfigs(configs, self.get('wizardController.kerberosDescriptorConfigs') || []);
+    }
+    self.setStepConfigs(configs, storedConfigs);
     this.loadServerSideConfigsRecommendations().always(function () {
       self.set('isRecommendedLoaded', true);
       // format descriptor configs
-      if (self.get('securityEnabled') && self.get('wizardController.name') == 'addServiceController') {
-        self.addKerberosDescriptorConfigs(configs, self.get('wizardController.kerberosDescriptorConfigs') || []);
-      }
-      self.setStepConfigs(configs, storedConfigs);
-
       var serviceConfigProperties = (self.get('content.serviceConfigProperties') || []).mapProperty('name');
       var recommendedToDelete = self.get('_dependentConfigValues').filterProperty('toDelete');
       recommendedToDelete.forEach(function (c) {
@@ -653,7 +650,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
       });
 
       self.updateDependentConfigs();
-      self.clearDependentConfigs();
       self.checkHostOverrideInstaller();
       self.activateSpecialConfigs();
       self.selectProperService();
@@ -740,7 +736,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
       masterComponentHosts: this.get('wizardController.content.masterComponentHosts'),
       slaveComponentHosts: this.get('wizardController.content.slaveComponentHosts')
     };
-    var serviceConfigs = App.config.renderConfigs(configs, storedConfigs, this.get('allSelectedServiceNames'), this.get('installedServiceNames'), localDB, this.get('recommendationsConfigs'));
+    var serviceConfigs = App.config.renderConfigs(configs, storedConfigs, this.get('allSelectedServiceNames'), this.get('installedServiceNames'), localDB);
     if (this.get('wizardController.name') === 'addServiceController') {
       serviceConfigs.setEach('showConfig', true);
       serviceConfigs.setEach('selected', false);
@@ -769,7 +765,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
 
           hRootDir.setProperties({
             'value':  valueToChange,
-            'defaultValue' : valueToChange
+            'recommendedValue' : valueToChange
           });
         }
       }
@@ -858,23 +854,22 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
    */
   setInstalledServiceConfigs: function (serviceConfigTags, configs, configsByTags, installedServiceNames) {
     var configsMap = {};
-    var configTypeMap = {};
     var configMixin = App.get('config');
+    var nonServiceTab = require('data/service_configs');
     var self = this;
 
     configsByTags.forEach(function (configSite) {
       configsMap[configSite.type] = configSite.properties || {};
     });
     configs.forEach(function (_config) {
-      var nonServiceTab = require('data/service_configs');
       var type = _config.filename ? App.config.getConfigTagFromFileName(_config.filename) : null;
       var mappedConfigValue = type && configsMap[type] ? configsMap[type][_config.name] : null;
       if (!Em.isNone(mappedConfigValue) && ((installedServiceNames && installedServiceNames.contains(_config.serviceName) || nonServiceTab.someProperty('serviceName', _config.serviceName)))) {
         // prevent overriding already edited properties
-        if (_config.defaultValue != mappedConfigValue) {
+        if (_config.savedValue != mappedConfigValue) {
           _config.value = mappedConfigValue;
         }
-        _config.defaultValue = mappedConfigValue;
+        _config.savedValue = mappedConfigValue;
         _config.hasInitialValue = true;
         App.config.handleSpecialProperties(_config);
         delete configsMap[type][_config.name];
@@ -890,7 +885,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
           name: propertyName,
           serviceName: configMixin.getServiceNameByConfigType(filename),
           value: configsMap[filename][propertyName],
-          defaultValue: configsMap[filename][propertyName],
+          savedValue: configsMap[filename][propertyName],
           filename: configMixin.get('filenameExceptions').contains(filename) ? filename : filename + '.xml',
           category: 'Advanced',
           hasInitialValue: true,
@@ -932,7 +927,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
       var propertyName = propertyPrefix + '_existing_' + dbPrefix + '_host';
       var existingDBConfig = configs.findProperty('name', propertyName);
       if (!existingDBConfig.value)
-        existingDBConfig.value = existingDBConfig.defaultValue = configs.findProperty('name', dbHostName).value;
+        existingDBConfig.value = existingDBConfig.savedValue = configs.findProperty('name', dbHostName).value;
     }, this);
   },
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 2569723..d1989c2 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -380,18 +380,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
    */
   loadUiSideConfigs: function (configMapping) {
     var uiConfig = [];
-    var configs = configMapping.filterProperty('foreignKey', null);
-    this.addDynamicProperties(configs);
-    configs.forEach(function (_config) {
-      var valueWithOverrides = this.getGlobConfigValueWithOverrides(_config.templateName, _config.value, _config.name);
-      uiConfig.pushObject({
-        "id": "site property",
-        "name": _config.name,
-        "value": valueWithOverrides.value,
-        "filename": _config.filename,
-        "overrides": valueWithOverrides.overrides
-      });
-    }, this);
     var dependentConfig = $.extend(true, [], configMapping.filterProperty('foreignKey'));
     dependentConfig.forEach(function (_config) {
       App.config.setConfigValue(uiConfig, this.get('content.serviceConfigProperties'), _config);
@@ -407,24 +395,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
   },
 
   /**
-   * Add dynamic properties to configs
-   * @param {Array} configs
-   * @method addDynamicProperties
-   */
-  addDynamicProperties: function (configs) {
-    var templetonHiveProperty = this.get('content.serviceConfigProperties').someProperty('name', 'templeton.hive.properties');
-    if (!templetonHiveProperty) {
-      configs.pushObject({
-        "name": "templeton.hive.properties",
-        "templateName": ["hive.metastore.uris"],
-        "foreignKey": null,
-        "value": "hive.metastore.local=false,hive.metastore.uris=<templateName[0]>,hive.metastore.sasl.enabled=yes,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse",
-        "filename": "webhcat-site.xml"
-      });
-    }
-  },
-
-  /**
    * Format <code>content.hosts</code> from Object to Array
    * @returns {Array}
    * @method getRegisteredHosts
@@ -444,95 +414,6 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
   },
 
   /**
-   * Set all site property that are derived from other puppet-variable
-   * @param {String} templateName
-   * @param {String} expression
-   * @param {String} name
-   * @return {Object}
-   * example: <code>{
-   *   value: '...',
-   *   overrides: [
-   *    {
-   *      value: 'v1',
-   *      hosts: ['h1', 'h2']
-   *    },
-   *    {
-   *      value: 'v2',
-   *      hosts: ['h2', 'h3']
-   *    },
-   *    ....
-   *   ]
-   * }</code>
-   * @method getGlobConfigValueWithOverrides
-   */
-  getGlobConfigValueWithOverrides: function (templateName, expression, name) {
-    var express = expression.match(/<(.*?)>/g);
-    var value = expression;
-    if (express == null) {
-      return { value: expression, overrides: []};      // if site property do not map any global property then return the value
-    }
-    var overrideHostToValue = {};
-    express.forEach(function (_express) {
-      //console.log("The value of template is: " + _express);
-      var index = parseInt(_express.match(/\[([\d]*)(?=\])/)[1]);
-      if (this.get('configs').someProperty('name', templateName[index])) {
-        //console.log("The name of the variable is: " + this.get('content.serviceConfigProperties').findProperty('name', templateName[index]).name);
-        var globalObj = this.get('configs').findProperty('name', templateName[index]);
-        var globValue = globalObj.value;
-        // Hack for templeton.zookeeper.hosts
-        var preReplaceValue = null;
-        if (value !== null) {   // if the property depends on more than one template name like <templateName[0]>/<templateName[1]> then don't proceed to the next if the prior is null or not found in the global configs
-          preReplaceValue = value;
-          value = App.config.replaceConfigValues(name, _express, value, globValue);
-        }
-        if (globalObj.overrides != null) {
-          globalObj.overrides.forEach(function (override) {
-            var ov = override.value;
-            var hostsArray = override.hosts;
-            hostsArray.forEach(function (host) {
-              if (!(host in overrideHostToValue)) {
-                overrideHostToValue[host] = App.config.replaceConfigValues(name, _express, preReplaceValue, ov);
-              } else {
-                overrideHostToValue[host] = App.config.replaceConfigValues(name, _express, overrideHostToValue[host], ov);
-              }
-            }, this);
-          }, this);
-        }
-      } else {
-        /*
-         console.log("ERROR: The variable name is: " + templateName[index]);
-         console.log("ERROR: mapped config from configMapping file has no corresponding variable in " +
-         "content.serviceConfigProperties. Two possible reasons for the error could be: 1) The service is not selected. " +
-         "and/OR 2) The service_config metadata file has no corresponding global var for the site property variable");
-         */
-        value = null;
-      }
-    }, this);
-
-    var valueWithOverrides = {
-      value: value,
-      overrides: []
-    };
-    var overrideValueToHostMap = {};
-    if (!jQuery.isEmptyObject(overrideHostToValue)) {
-      for (var host in overrideHostToValue) {
-        var hostVal = overrideHostToValue[host];
-        if (!(hostVal in overrideValueToHostMap)) {
-          overrideValueToHostMap[hostVal] = [];
-        }
-        overrideValueToHostMap[hostVal].push(host);
-      }
-    }
-    for (var val in overrideValueToHostMap) {
-      valueWithOverrides.overrides.push({
-        value: val,
-        hosts: overrideValueToHostMap[val]
-      });
-    }
-    return valueWithOverrides;
-  },
-
-  /**
    * Load all info about cluster to <code>clusterInfo</code> variable
    * @method loadClusterInfo
    */

http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 a8109b5..831f576 100644
--- a/ambari-web/app/data/BIGTOP/site_properties.js
+++ b/ambari-web/app/data/BIGTOP/site_properties.js
@@ -84,7 +84,7 @@ module.exports =
       "name": "dfs.datanode.data.dir.mount.file",
       "displayName": "File that stores mount point for each data dir",
       "description": "File path that contains the last known mount point for each data dir. This file is used to avoid creating a DFS data dir on the root drive (and filling it up) if a path was previously mounted on a drive.",
-      "defaultValue": "/etc/hadoop/conf/dfs_data_dir_mount.hist",
+      "recommendedValue": "/etc/hadoop/conf/dfs_data_dir_mount.hist",
       "displayType": "directory",
       "isVisible": true,
       "category": "DATANODE",
@@ -570,7 +570,7 @@ module.exports =
       "name": "hive.server2.thrift.port",
       "displayName": "Hive Server Port",
       "description": "TCP port number to listen on, default 10000.",
-      "defaultValue": "10000",
+      "recommendedValue": "10000",
       "displayType": "int",
       "isReconfigurable": true,
       "isOverridable": false,
@@ -583,7 +583,7 @@ module.exports =
       "id": "site property",
       "name": "hive.server2.support.dynamic.service.discovery",
       "displayName": "hive.server2.support.dynamic.service.discovery",
-      "defaultValue": true,
+      "recommendedValue": true,
       "displayType": "checkbox",
       "category": "Advanced hive-site",
       "serviceName": "HIVE"
@@ -592,7 +592,7 @@ module.exports =
       "id": "site property",
       "name": "hive.zookeeper.quorum",
       "displayName": "hive.zookeeper.quorum",
-      "defaultValue": "localhost:2181",
+      "recommendedValue": "localhost:2181",
       "displayType": "multiLine",
       "isVisible": true,
       "serviceName": "HIVE",
@@ -1684,7 +1684,7 @@ module.exports =
       "name": "content",
       "displayName": "content",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "pig properties",
       "displayType": "content",
       "isRequired": false,
@@ -1710,7 +1710,7 @@ module.exports =
       "name": "flume_conf_dir",
       "displayName": "Flume Conf Dir",
       "description": "Location to save configuration files",
-      "defaultValue": "/etc/flume/conf",
+      "recommendedValue": "/etc/flume/conf",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -1725,7 +1725,7 @@ module.exports =
       "name": "flume_log_dir",
       "displayName": "Flume Log Dir",
       "description": "Location to save log files",
-      "defaultValue": "/var/log/flume",
+      "recommendedValue": "/var/log/flume",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -1741,7 +1741,7 @@ module.exports =
       "name": "namenode_host",
       "displayName": "NameNode hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The hosts that has been assigned to run NameNode",
       "displayType": "masterHosts",
       "isOverridable": false,
@@ -1757,7 +1757,7 @@ module.exports =
       "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.",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -1772,7 +1772,7 @@ module.exports =
       "name": "namenode_opt_newsize",
       "displayName": "NameNode new generation size",
       "description": "Default size of Java new generation for NameNode (Java option -XX:NewSize).  This also applies to the Secondary NameNode.",
-      "defaultValue": "200",
+      "recommendedValue": "200",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -1787,7 +1787,7 @@ module.exports =
       "name": "namenode_opt_maxnewsize",
       "displayName": "NameNode maximum new generation size",
       "description": "Maximum size of Java new generation for NameNode (Java option -XX:MaxnewSize).",
-      "defaultValue": "200",
+      "recommendedValue": "200",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -1802,7 +1802,7 @@ module.exports =
       "name": "namenode_opt_permsize",
       "displayName": "NameNode permanent generation size",
       "description": "Default size of Java new generation for NameNode (Java option -XX:PermSize).  This also applies to the Secondary NameNode.",
-      "defaultValue": "128",
+      "recommendedValue": "128",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -1817,7 +1817,7 @@ module.exports =
       "name": "namenode_opt_maxpermsize",
       "displayName": "NameNode maximum permanent generation size",
       "description": "Maximum size of Java permanent generation for NameNode (Java option -XX:MaxPermSize).",
-      "defaultValue": "256",
+      "recommendedValue": "256",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -1832,7 +1832,7 @@ module.exports =
       "name": "snamenode_host",
       "displayName": "SNameNode host",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The host that has been assigned to run SecondaryNameNode",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -1848,7 +1848,7 @@ module.exports =
       "name": "datanode_hosts", //not in the schema. For UI purpose
       "displayName": "DataNode hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The hosts that have been assigned to run DataNode",
       "displayType": "slaveHosts",
       "isRequired": false,
@@ -1865,7 +1865,7 @@ module.exports =
       "name": "dtnode_heapsize",
       "displayName": "DataNode maximum Java heap size",
       "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isVisible": true,
@@ -1879,7 +1879,7 @@ module.exports =
       "name": "hadoop_heapsize",
       "displayName": "Hadoop maximum Java heap size",
       "description": "Maximum Java heap size for daemons such as Balancer (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isVisible": true,
@@ -1893,7 +1893,7 @@ module.exports =
       "name": "hdfs_log_dir_prefix",
       "displayName": "Hadoop Log Dir Prefix",
       "description": "The parent directory for Hadoop log files.  The HDFS log directory will be ${hadoop_log_dir_prefix} / ${hdfs_user} and the MapReduce log directory will be ${hadoop_log_dir_prefix} / ${mapred_user}.",
-      "defaultValue": "/var/log/hadoop",
+      "recommendedValue": "/var/log/hadoop",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -1907,7 +1907,7 @@ module.exports =
       "name": "hadoop_pid_dir_prefix",
       "displayName": "Hadoop PID Dir Prefix",
       "description": "The parent directory in which the PID files for Hadoop processes will be created.  The HDFS PID directory will be ${hadoop_pid_dir_prefix} / ${hdfs_user} and the MapReduce PID directory will be ${hadoop_pid_dir_prefix} / ${mapred_user}.",
-      "defaultValue": "/var/run/hadoop",
+      "recommendedValue": "/var/run/hadoop",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -1921,7 +1921,7 @@ module.exports =
       "name": "hadoop_root_logger",
       "displayName": "Hadoop Root Logger",
       "description": "Hadoop logging options",
-      "defaultValue": "INFO,RFA",
+      "recommendedValue": "INFO,RFA",
       "displayType": "string",
       "isOverridable": false,
       "isVisible": true,
@@ -1936,7 +1936,7 @@ module.exports =
       "name": "hs_host",
       "displayName": "History Server",
       "description": "History Server",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "masterHost",
       "isRequiredByAgent": false,
@@ -1951,7 +1951,7 @@ module.exports =
       "name": "jobhistory_heapsize",
       "displayName": "History Server heap size",
       "description": "History Server heap size",
-      "defaultValue": "900",
+      "recommendedValue": "900",
       "unit": "MB",
       "isOverridable": true,
       "displayType": "int",
@@ -1966,7 +1966,7 @@ module.exports =
       "name": "mapred_log_dir_prefix",
       "displayName": "Mapreduce Log Dir Prefix",
       "description": "",
-      "defaultValue": "/var/log/hadoop-mapreduce",
+      "recommendedValue": "/var/log/hadoop-mapreduce",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -1980,7 +1980,7 @@ module.exports =
       "name": "mapred_pid_dir_prefix",
       "displayName": "Mapreduce PID Dir Prefix",
       "description": "",
-      "defaultValue": "/var/run/hadoop-mapreduce",
+      "recommendedValue": "/var/run/hadoop-mapreduce",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -1995,7 +1995,7 @@ module.exports =
       "name": "yarn_heapsize",
       "displayName": "YARN Java heap size",
       "description": "Max heapsize for all YARN components",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "isOverridable": true,
       "displayType": "int",
       "unit": "MB",
@@ -2010,7 +2010,7 @@ module.exports =
       "name": "rm_host",
       "displayName": "ResourceManager",
       "description": "ResourceManager",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "masterHost",
       "isRequiredByAgent": false,
@@ -2025,7 +2025,7 @@ module.exports =
       "name": "resourcemanager_heapsize",
       "displayName": "ResourceManager Java heap size",
       "description": "Max heapsize for ResourceManager",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "isOverridable": false,
       "displayType": "int",
       "unit": "MB",
@@ -2040,7 +2040,7 @@ module.exports =
       "name": "nm_hosts",
       "displayName": "NodeManager",
       "description": "List of NodeManager Hosts.",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "slaveHosts",
       "isRequiredByAgent": false,
@@ -2055,7 +2055,7 @@ module.exports =
       "name": "nodemanager_heapsize",
       "displayName": "NodeManager Java heap size",
       "description": "Max heapsize for NodeManager",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "isOverridable": true,
       "displayType": "int",
       "unit": "MB",
@@ -2070,7 +2070,7 @@ module.exports =
       "name": "yarn_log_dir_prefix",
       "displayName": "YARN Log Dir Prefix",
       "description": "",
-      "defaultValue": "/var/log/hadoop-yarn",
+      "recommendedValue": "/var/log/hadoop-yarn",
       "displayType": "directory",
       "isOverridable": false,
       "isReconfigurable": false,
@@ -2084,7 +2084,7 @@ module.exports =
       "name": "yarn_pid_dir_prefix",
       "displayName": "YARN PID Dir Prefix",
       "description": "",
-      "defaultValue": "/var/run/hadoop-yarn",
+      "recommendedValue": "/var/run/hadoop-yarn",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -2109,7 +2109,7 @@ module.exports =
       "name": "ats_host",
       "displayName": "App Timeline Server",
       "description": "Application Timeline Server Host",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "masterHost",
       "isRequiredByAgent": false,
@@ -2124,7 +2124,7 @@ module.exports =
       "name": "apptimelineserver_heapsize",
       "displayName": "AppTimelineServer Java heap size",
       "description": "AppTimelineServer Java heap size",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "isOverridable": false,
       "displayType": "int",
       "unit": "MB",
@@ -2140,7 +2140,7 @@ module.exports =
       "name": "hbasemaster_host",
       "displayName": "HBase Master hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The host that has been assigned to run HBase Master",
       "displayType": "masterHosts",
       "isOverridable": false,
@@ -2156,7 +2156,7 @@ module.exports =
       "name": "hbase_master_heapsize",
       "displayName": "HBase Master Maximum Java heap size",
       "description": "Maximum Java heap size for HBase master (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": true,
@@ -2171,7 +2171,7 @@ module.exports =
       "name": "regionserver_hosts",
       "displayName": "RegionServer hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The hosts that have been assigned to run RegionServer",
       "displayType": "slaveHosts",
       "isOverridable": false,
@@ -2188,7 +2188,7 @@ module.exports =
       "name": "hbase_regionserver_heapsize",
       "displayName": "RegionServers maximum Java heap size",
       "description": "Maximum Java heap size for RegionServers (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isVisible": true,
@@ -2225,7 +2225,7 @@ module.exports =
       "name": "hbase_log_dir",
       "displayName": "HBase Log Dir",
       "description": "Directory for HBase logs",
-      "defaultValue": "/var/log/hbase",
+      "recommendedValue": "/var/log/hbase",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2239,7 +2239,7 @@ module.exports =
       "name": "hbase_pid_dir",
       "displayName": "HBase PID Dir",
       "description": "Directory in which the pid files for HBase processes will be created",
-      "defaultValue": "/var/run/hbase",
+      "recommendedValue": "/var/run/hbase",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2273,7 +2273,7 @@ module.exports =
       "name": "fs_glusterfs_default_name",
       "displayName": "GlusterFS default fs name 1.x Hadoop",
       "description": "GlusterFS default filesystem name (glusterfs://{MasterFQDN}:9000)",
-      "defaultValue": "glusterfs:///localhost:8020",
+      "recommendedValue": "glusterfs:///localhost:8020",
       "displayType": "string",
       "isVisible": true,
       "serviceName": "GLUSTERFS",
@@ -2285,7 +2285,7 @@ module.exports =
       "name": "glusterfs_defaultFS_name",
       "displayName": "GlusterFS default fs name 2.x Hadoop",
       "description": "GlusterFS default filesystem name (glusterfs:///)",
-      "defaultValue": "glusterfs:///localhost:8020",
+      "recommendedValue": "glusterfs:///localhost:8020",
       "displayType": "string",
       "isVisible": true,
       "serviceName": "GLUSTERFS",
@@ -2297,7 +2297,7 @@ module.exports =
       "name": "hadoop_heapsize",
       "displayName": "Hadoop maximum Java heap size",
       "description": "Maximum Java heap size for daemons such as Balancer (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isVisible": true,
@@ -2311,7 +2311,7 @@ module.exports =
       "name": "hdfs_log_dir_prefix",
       "displayName": "Hadoop Log Dir Prefix",
       "description": "The parent directory for Hadoop log files.  The HDFS log directory will be ${hadoop_log_dir_prefix} / ${hdfs_user} and the MapReduce log directory will be ${hadoop_log_dir_prefix} / ${mapred_user}.",
-      "defaultValue": "/var/log/hadoop",
+      "recommendedValue": "/var/log/hadoop",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2325,7 +2325,7 @@ module.exports =
       "name": "hadoop_pid_dir_prefix",
       "displayName": "Hadoop PID Dir Prefix",
       "description": "The parent directory in which the PID files for Hadoop processes will be created.  The HDFS PID directory will be ${hadoop_pid_dir_prefix} / ${hdfs_user} and the MapReduce PID directory will be ${hadoop_pid_dir_prefix} / ${mapred_user}.",
-      "defaultValue": "/var/run/hadoop",
+      "recommendedValue": "/var/run/hadoop",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2339,7 +2339,7 @@ module.exports =
       "name": "namenode_heapsize",
       "displayName": "Name Node Heap Size",
       "description": "Name Node Heap Size, default jvm memory setting",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "isReconfigurable": false,
       "displayType": "int",
       "isOverridable": false,
@@ -2353,7 +2353,7 @@ module.exports =
       "name": "namenode_opt_newsize",
       "displayName": "NameNode new generation size",
       "description": "Default size of Java new generation for NameNode (Java option -XX:NewSize).  This also applies to the Secondary NameNode.",
-      "defaultValue": "200",
+      "recommendedValue": "200",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -2367,7 +2367,7 @@ module.exports =
       "name": "namenode_opt_maxnewsize",
       "displayName": "NameNode maximum new generation size",
       "description": "Maximum size of Java new generation for NameNode (Java option -XX:MaxnewSize).",
-      "defaultValue": "200",
+      "recommendedValue": "200",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -2381,7 +2381,7 @@ module.exports =
       "name": "namenode_opt_permsize",
       "displayName": "NameNode permanent generation size",
       "description": "Default size of Java permanent generation for NameNode (Java option -XX:PermSize).  This also applies to the Secondary NameNode.",
-      "defaultValue": "128",
+      "recommendedValue": "128",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -2395,7 +2395,7 @@ module.exports =
       "name": "namenode_opt_maxpermsize",
       "displayName": "NameNode maximum permanent generation size",
       "description": "Maximum size of Java permanent generation for NameNode (Java option -XX:MaxPermSize).",
-      "defaultValue": "256",
+      "recommendedValue": "256",
       "displayType": "int",
       "unit": "MB",
       "isOverridable": false,
@@ -2409,7 +2409,7 @@ module.exports =
       "name": "dtnode_heapsize",
       "displayName": "DataNode maximum Java heap size",
       "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
-      "defaultValue": "1024",
+      "recommendedValue": "1024",
       "displayType": "int",
       "unit": "MB",
       "isVisible": false,
@@ -2422,7 +2422,7 @@ module.exports =
       "name": "glusterfs_user",
       "displayName": "glusterfs user",
       "description": "glusterfs user",
-      "defaultValue": "root",
+      "recommendedValue": "root",
       "displayType": "string",
       "isVisible": false,
       "serviceName": "GLUSTERFS",
@@ -2434,7 +2434,7 @@ module.exports =
       "name": "namenode_host",
       "displayName": "NameNode Host",
       "description": "NameNode Host.",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "string",
       "isVisible": false,
       "serviceName": "GLUSTERFS",
@@ -2446,7 +2446,7 @@ module.exports =
       "name": "snamenode_host",
       "displayName": "Secondary NameNode Host",
       "description": "Secondary NameNode Host.",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "string",
       "isVisible": false,
       "serviceName": "GLUSTERFS",
@@ -2459,7 +2459,7 @@ module.exports =
       "name": "hivemetastore_host",
       "displayName": "Hive Metastore hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The hosts that have been assigned to run Hive Metastore",
       "displayType": "masterHosts",
       "isOverridable": false,
@@ -2473,7 +2473,7 @@ module.exports =
     {
       "name": "hive_master_hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "isRequiredByAgent": false,
       "isVisible": false,
@@ -2486,7 +2486,7 @@ module.exports =
       "name": "hive_existing_mysql_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "MySQL",
+      "recommendedValue": "MySQL",
       "description": "Using an existing MySQL database for Hive Metastore",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -2504,7 +2504,7 @@ module.exports =
       "name": "hive_existing_postgresql_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "PostgreSQL",
+      "recommendedValue": "PostgreSQL",
       "description": "Using an existing PostgreSQL database for Hive Metastore",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -2522,7 +2522,7 @@ module.exports =
       "name": "hive_existing_oracle_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "Oracle",
+      "recommendedValue": "Oracle",
       "description": "Using an existing Oracle database for Hive Metastore",
       "displayType": "masterHost",
       "isVisible": false,
@@ -2540,7 +2540,7 @@ module.exports =
       "name": "hive_ambari_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "PostgreSQL",
+      "recommendedValue": "PostgreSQL",
       "description": "PostgreSQL will be installed by Ambari",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -2556,7 +2556,7 @@ module.exports =
       "name": "hive_database",
       "displayName": "Hive Database",
       "value": "",
-      "defaultValue": "New PostgreSQL Database",
+      "recommendedValue": "New PostgreSQL Database",
       "options": [
         {
           displayName: 'New PostgreSQL Database',
@@ -2591,7 +2591,8 @@ module.exports =
       "name": "hive_hostname",
       "displayName": "Database Host",
       "description": "Specify the host on which the database is hosted",
-      "defaultValue": "",
+      "savedValue": "",
+      "recommendedValue": "",
       "isReconfigurable": true,
       "displayType": "host",
       "isOverridable": false,
@@ -2607,7 +2608,7 @@ module.exports =
       "name": "hive_existing_mysql_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "host",
       "isOverridable": false,
       "isVisible": false,
@@ -2622,7 +2623,7 @@ module.exports =
       "name": "hive_existing_postgresql_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "host",
       "isOverridable": false,
       "isVisible": false,
@@ -2637,7 +2638,7 @@ module.exports =
       "name": "hive_existing_oracle_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "host",
       "isOverridable": false,
       "isVisible": false,
@@ -2651,7 +2652,7 @@ module.exports =
       "id": "puppet var",
       "name": "hive_ambari_host",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayName": "Database Host",
       "description": "Host on which the database will be created by Ambari",
       "isReconfigurable": false,
@@ -2669,7 +2670,7 @@ module.exports =
       "name": "hive_metastore_port",
       "displayName": "Hive metastore port",
       "description": "",
-      "defaultValue": "9083",
+      "recommendedValue": "9083",
       "isReconfigurable": false,
       "displayType": "int",
       "isOverridable": false,
@@ -2683,7 +2684,7 @@ module.exports =
       "name": "hive_lib",
       "displayName": "Hive library",
       "description": "",
-      "defaultValue": "/usr/lib/hive/lib/",
+      "recommendedValue": "/usr/lib/hive/lib/",
       "isReconfigurable": false,
       "displayType": "directory",
       "isVisible": false,
@@ -2697,7 +2698,7 @@ module.exports =
       "name": "hive_dbroot",
       "displayName": "Hive db directory",
       "description": "",
-      "defaultValue": "/usr/lib/hive/lib",
+      "recommendedValue": "/usr/lib/hive/lib",
       "isReconfigurable": false,
       "displayType": "directory",
       "isVisible": false,
@@ -2711,7 +2712,7 @@ module.exports =
       "name": "hive_log_dir",
       "displayName": "Hive Log Dir",
       "description": "Directory for Hive log files",
-      "defaultValue": "/var/log/hive",
+      "recommendedValue": "/var/log/hive",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2725,7 +2726,7 @@ module.exports =
       "name": "hive_pid_dir",
       "displayName": "Hive PID Dir",
       "description": "Directory in which the PID files for Hive processes will be created",
-      "defaultValue": "/var/run/hive",
+      "recommendedValue": "/var/run/hive",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2740,7 +2741,7 @@ module.exports =
       "name": "webhcatserver_host",
       "displayName": "WebHCat Server host",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The host that has been assigned to run WebHCat Server",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -2755,7 +2756,7 @@ module.exports =
       "name": "hcat_log_dir",
       "displayName": "WebHCat Log Dir",
       "description": "Directory for WebHCat log files",
-      "defaultValue": "/var/log/webhcat",
+      "recommendedValue": "/var/log/webhcat",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2769,7 +2770,7 @@ module.exports =
       "name": "hcat_pid_dir",
       "displayName": "WebHCat PID Dir",
       "description": "Directory in which the PID files for WebHCat processes will be created",
-      "defaultValue": "/var/run/webhcat",
+      "recommendedValue": "/var/run/webhcat",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -2784,7 +2785,7 @@ module.exports =
       "name": "oozieserver_host",
       "displayName": "Oozie Server host",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The hosts that have been assigned to run Oozie Server",
       "displayType": "masterHosts",
       "isOverridable": false,
@@ -2801,7 +2802,7 @@ module.exports =
       "name": "oozie_existing_oracle_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "Oracle",
+      "recommendedValue": "Oracle",
       "description": "Using an existing Oracle database for Oozie Metastore",
       "displayType": "masterHost",
       "isVisible": false,
@@ -2819,7 +2820,7 @@ module.exports =
       "name": "oozie_existing_postgresql_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "PostgreSQL",
+      "recommendedValue": "PostgreSQL",
       "description": "Using an existing PostgreSQL database for Oozie Metastore",
       "displayType": "masterHost",
       "isOverridable": false,
@@ -2836,7 +2837,7 @@ module.exports =
       "name": "oozie_ambari_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "MySQL",
+      "recommendedValue": "MySQL",
       "description": "MySQL will be installed by Ambari",
       "displayType": "masterHost",
       "isVisible": false,
@@ -2852,7 +2853,7 @@ module.exports =
       "name": "oozie_derby_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "Derby",
+      "recommendedValue": "Derby",
       "description": "Using current Derby database for Oozie Metastore",
       "displayType": "masterHost",
       "isVisible": false,
@@ -2869,7 +2870,7 @@ module.exports =
       "name": "oozie_existing_mysql_database",
       "displayName": "Database Type",
       "value": "",
-      "defaultValue": "MySQL",
+      "recommendedValue": "MySQL",
       "description": "Using an existing MySQL database for Oozie Metastore",
       "displayType": "masterHost",
       "isVisible": false,
@@ -2885,7 +2886,7 @@ module.exports =
       "name": "oozie_database",
       "displayName": "Oozie Database",
       "value": "",
-      "defaultValue": "New Derby Database",
+      "recommendedValue": "New Derby Database",
       "options": [
         {
           displayName: 'New Derby Database',
@@ -2920,7 +2921,7 @@ module.exports =
       "name": "oozie_data_dir",
       "displayName": "Oozie Data Dir",
       "description": "Data directory in which the Oozie DB exists",
-      "defaultValue": "",
+      "recommendedValue": "",
       "defaultDirectory": "/hadoop/oozie/data",
       "isReconfigurable": true,
       "displayType": "directory",
@@ -2935,7 +2936,8 @@ module.exports =
     {
       "id": "puppet var",
       "name": "oozie_hostname",
-      "defaultValue": "",
+      "savedValue": "",
+      "recommendedValue": "",
       "displayName": "Database Host",
       "description": "The host where the Oozie database is located",
       "isReconfigurable": true,
@@ -2952,7 +2954,7 @@ module.exports =
       "name": "oozie_existing_mysql_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "host",
       "isVisible": false,
@@ -2967,7 +2969,7 @@ module.exports =
       "name": "oozie_existing_postgresql_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "host",
       "isVisible": false,
@@ -2982,7 +2984,7 @@ module.exports =
       "name": "oozie_existing_oracle_host",
       "displayName": "Database Host",
       "description": "Specify the host on which the existing database is hosted",
-      "defaultValue": "",
+      "recommendedValue": "",
       "isOverridable": false,
       "displayType": "host",
       "isVisible": false,
@@ -2996,7 +2998,7 @@ module.exports =
       "id": "puppet var",
       "name": "oozie_ambari_host",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayName": "Database Host",
       "description": "Host on which the database will be created by Ambari",
       "isReconfigurable": false,
@@ -3013,7 +3015,7 @@ module.exports =
       "name": "oozie_log_dir",
       "displayName": "Oozie Log Dir",
       "description": "Directory for oozie logs",
-      "defaultValue": "/var/log/oozie",
+      "recommendedValue": "/var/log/oozie",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -3027,7 +3029,7 @@ module.exports =
       "name": "oozie_pid_dir",
       "displayName": "Oozie PID Dir",
       "description": "Directory in which the pid files for oozie processes will be created",
-      "defaultValue": "/var/run/oozie",
+      "recommendedValue": "/var/run/oozie",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -3054,7 +3056,7 @@ module.exports =
       "name": "zookeeperserver_hosts",
       "displayName": "ZooKeeper Server hosts",
       "value": "",
-      "defaultValue": "",
+      "recommendedValue": "",
       "description": "The host that has been assigned to run ZooKeeper Server",
       "displayType": "masterHosts",
       "isVisible": true,
@@ -3071,7 +3073,7 @@ module.exports =
       "name": "zk_data_dir",
       "displayName": "ZooKeeper directory",
       "description": "Data directory for ZooKeeper",
-      "defaultValue": "",
+      "recommendedValue": "",
       "defaultDirectory": "/hadoop/zookeeper",
       "isReconfigurable": true,
       "displayType": "directory",
@@ -3086,7 +3088,7 @@ module.exports =
       "name": "tickTime",
       "displayName": "Length of single Tick",
       "description": "The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper",
-      "defaultValue": "2000",
+      "recommendedValue": "2000",
       "displayType": "int",
       "unit": "ms",
       "isOverridable": false,
@@ -3101,7 +3103,7 @@ module.exports =
       "name": "initLimit",
       "displayName": "Ticks to allow for sync at Init",
       "description": "Amount of time, in ticks to allow followers to connect and sync to a leader",
-      "defaultValue": "10",
+      "recommendedValue": "10",
       "displayType": "int",
       "isOverridable": false,
       "isVisible": true,
@@ -3115,7 +3117,7 @@ module.exports =
       "name": "syncLimit",
       "displayName": "Ticks to allow for sync at Runtime",
       "description": "Amount of time, in ticks to allow followers to connect",
-      "defaultValue": "5",
+      "recommendedValue": "5",
       "displayType": "int",
       "isOverridable": false,
       "isVisible": true,
@@ -3129,7 +3131,7 @@ module.exports =
       "name": "clientPort",
       "displayName": "Port for running ZK Server",
       "description": "Port for running ZooKeeper server",
-      "defaultValue": "2181",
+      "recommendedValue": "2181",
       "displayType": "int",
       "isOverridable": false,
       "isVisible": true,
@@ -3143,7 +3145,7 @@ module.exports =
       "name": "zk_log_dir",
       "displayName": "ZooKeeper Log Dir",
       "description": "Directory for ZooKeeper log files",
-      "defaultValue": "/var/log/zookeeper",
+      "recommendedValue": "/var/log/zookeeper",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -3158,7 +3160,7 @@ module.exports =
       "name": "zk_pid_dir",
       "displayName": "ZooKeeper PID Dir",
       "description": "Directory in which the pid files for zookeeper processes will be created",
-      "defaultValue": "/var/run/zookeeper",
+      "recommendedValue": "/var/run/zookeeper",
       "isReconfigurable": false,
       "displayType": "directory",
       "isOverridable": false,
@@ -3174,7 +3176,7 @@ module.exports =
       "name": "ganglia_conf_dir",
       "displayName": "Ganglia conf directory",
       "description": "",
-      "defaultValue": "/etc/ganglia/hdp",
+      "recommendedValue": "/etc/ganglia/hdp",
       "isReconfigurable": false,
       "displayType": "directory",
       "isVisible": false,
@@ -3189,7 +3191,7 @@ module.exports =
       "name": "falconserver_host",
       "displayName": "Falcon Server",
       "description": "The host that has been assigned to run Falcon Server",
-      "defaultValue": "falcon",
+      "recommendedValue": "falcon",
       "displayType": "masterHost",
       "isVisible": true,
       "isRequiredByAgent": false,
@@ -3202,7 +3204,7 @@ module.exports =
       "name": "falcon_port",
       "displayName": "Falcon server port",
       "description": "Port the Falcon Server listens on",
-      "defaultValue": "15000",
+      "recommendedValue": "15000",
       "isReconfigurable": true,
       "displayType": "int",
       "isVisible": true,
@@ -3216,7 +3218,7 @@ module.exports =
       "name": "falcon_local_dir",
       "displayName": "Falcon data directory",
       "description": "Directory where Falcon data, such as activemq data, is stored",
-      "defaultValue": "/hadoop/falcon",
+      "recommendedValue": "/hadoop/falcon",
       "isReconfigurable": true,
       "displayType": "directory",
       "isVisible": true,
@@ -3230,7 +3232,7 @@ module.exports =
       "name": "falcon_store_uri",
       "displayName": "Falcon store URI",
       "description": "Directory where entity definitions are stored",
-      "defaultValue": "file:///hadoop/falcon/store",
+      "recommendedValue": "file:///hadoop/falcon/store",
       "isReconfigurable": true,
       "displayType": "string",
       "isVisible": true,
@@ -3244,7 +3246,7 @@ module.exports =
       "name": "falcon_log_dir",
       "displayName": "Falcon Log Dir",
       "description": "Directory for Falcon logs",
-      "defaultValue": "/var/log/falcon",
+      "recommendedValue": "/var/log/falcon",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -3259,7 +3261,7 @@ module.exports =
       "name": "falcon_pid_dir",
       "displayName": "Falcon PID Dir",
       "description": "Directory in which the pid files for Falcon processes will be created",
-      "defaultValue": "/var/run/falcon",
+      "recommendedValue": "/var/run/falcon",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -3274,7 +3276,7 @@ module.exports =
       "name": "falcon.embeddedmq",
       "displayName": "falcon.embeddedmq",
       "description": "Whether embeddedmq is enabled or not.",
-      "defaultValue": "true",
+      "recommendedValue": "true",
       "displayType": "string",
       "isOverridable": false,
       "isVisible": true,
@@ -3289,7 +3291,7 @@ module.exports =
       "name": "falcon.embeddedmq.data",
       "displayName": "falcon.embeddedmq.data",
       "description": "Directory in which embeddedmq data is stored.",
-      "defaultValue": "/hadoop/falcon/embeddedmq/data",
+      "recommendedValue": "/hadoop/falcon/embeddedmq/data",
       "displayType": "directory",
       "isOverridable": false,
       "isVisible": true,
@@ -3304,7 +3306,7 @@ module.exports =
       "name": "falcon.emeddedmq.port",
       "displayName": "falcon.emeddedmq.port",
       "description": "Port that embeddedmq will listen on.",
-      "defaultValue": "61616",
+      "recommendedValue": "61616",
       "displayType": "string",
       "isOverridable": false,
       "isVisible": true,
@@ -3320,7 +3322,7 @@ module.exports =
       "name": "storm_log_dir",
       "displayName": "storm_log_dir",
       "description": "Storm log directory",
-      "defaultValue": "/var/log/storm",
+      "recommendedValue": "/var/log/storm",
       "displayType": "directory",
       "isReconfigurable": true,
       "isVisible": true,
@@ -3334,7 +3336,7 @@ module.exports =
       "name": "storm_pid_dir",
       "displayName": "storm_pid_dir",
       "description": "Storm PID directory",
-      "defaultValue": "/var/run/storm",
+      "recommendedValue": "/var/run/storm",
       "displayType": "directory",
       "isReconfigurable": true,
       "isVisible": true,
@@ -3348,7 +3350,7 @@ module.exports =
       "name": "stormuiserver_host",
       "displayName": "Storm UI Server host",
       "description": "The host that has been assigned to run Storm UI Server",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
       "isVisible": true,
@@ -3362,7 +3364,7 @@ module.exports =
       "name": "drpcserver_host",
       "displayName": "DRPC Server host",
       "description": "The host that has been assigned to run DRPC Server",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
       "isVisible": true,
@@ -3376,7 +3378,7 @@ module.exports =
       "name": "supervisor_hosts",
       "displayName": "Supervisor hosts",
       "description": "The host that has been assigned to run Supervisor",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "slaveHosts",
       "isReconfigurable": false,
       "isVisible": true,
@@ -3391,7 +3393,7 @@ module.exports =
       "name": "storm_rest_api_host",
       "displayName": "Storm REST API host",
       "description": "The host that has been assigned to run Storm REST API Server",
-      "defaultValue": "",
+      "recommendedValue": "",
       "displayType": "masterHost",
       "isReconfigurable": false,
       "isVisible": true,
@@ -3407,7 +3409,7 @@ module.exports =
       "name": "hbase_conf_dir",
       "displayName": "HBase conf dir",
       "description": "",
-      "defaultValue": "/etc/hbase",
+      "recommendedValue": "/etc/hbase",
       "isRequired": false,
       "displayType": "directory",
       "isVisible": false,
@@ -3422,7 +3424,7 @@ module.exports =
       "name": "proxyuser_group",
       "displayName": "Proxy group for Hive, WebHCat, Oozie and Falcon",
       "description": "",
-      "defaultValue": "users",
+      "recommendedValue": "users",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3438,7 +3440,7 @@ module.exports =
       "name": "ganglia_runtime_dir",
       "displayName": "Ganglia runtime directory",
       "description": "",
-      "defaultValue": "/var/run/ganglia/hdp",
+      "recommendedValue": "/var/run/ganglia/hdp",
       "isReconfigurable": false,
       "displayType": "directory",
       "isVisible": false,
@@ -3452,7 +3454,7 @@ module.exports =
       "name": "hdfs_user",
       "displayName": "HDFS User",
       "description": "User to run HDFS as",
-      "defaultValue": "hdfs",
+      "recommendedValue": "hdfs",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3468,7 +3470,7 @@ module.exports =
       "name": "mapred_user",
       "displayName": "MapReduce User",
       "description": "User to run MapReduce as",
-      "defaultValue": "mapred",
+      "recommendedValue": "mapred",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3484,7 +3486,7 @@ module.exports =
       "name": "yarn_user",
       "displayName": "YARN User",
       "description": "User to run YARN as",
-      "defaultValue": "yarn",
+      "recommendedValue": "yarn",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3500,7 +3502,7 @@ module.exports =
       "name": "hbase_user",
       "displayName": "HBase User",
       "description": "User to run HBase as",
-      "defaultValue": "hbase",
+      "recommendedValue": "hbase",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3516,7 +3518,7 @@ module.exports =
       "name": "hive_user",
       "displayName": "Hive User",
       "description": "User to run Hive as",
-      "defaultValue": "hive",
+      "recommendedValue": "hive",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3532,7 +3534,7 @@ module.exports =
       "name": "hcat_user",
       "displayName": "HCat User",
       "description": "User to run HCatalog as",
-      "defaultValue": "hcat",
+      "recommendedValue": "hcat",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3548,7 +3550,7 @@ module.exports =
       "name": "webhcat_user",
       "displayName": "WebHCat User",
       "description": "User to run WebHCat as",
-      "defaultValue": "hcat",
+      "recommendedValue": "hcat",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3564,7 +3566,7 @@ module.exports =
       "name": "oozie_user",
       "displayName": "Oozie User",
       "description": "User to run Oozie as",
-      "defaultValue": "oozie",
+      "recommendedValue": "oozie",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3580,7 +3582,7 @@ module.exports =
       "name": "falcon_user",
       "displayName": "Falcon User",
       "description": "User to run Falcon as",
-      "defaultValue": "falcon",
+      "recommendedValue": "falcon",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3596,7 +3598,7 @@ module.exports =
       "name": "storm_user",
       "displayName": "Storm User",
       "description": "User to run Storm as",
-      "defaultValue": "storm",
+      "recommendedValue": "storm",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3612,7 +3614,7 @@ module.exports =
       "name": "zk_user",
       "displayName": "ZooKeeper User",
       "description": "User to run ZooKeeper as",
-      "defaultValue": "zookeeper",
+      "recommendedValue": "zookeeper",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3628,7 +3630,7 @@ module.exports =
       "name": "flume_user",
       "displayName": "Flume User",
       "description": "User to run Flume as",
-      "defaultValue": "flume",
+      "recommendedValue": "flume",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3644,7 +3646,7 @@ module.exports =
       "name": "gmetad_user",
       "displayName": "Ganglia User",
       "description": "The user used to run Ganglia",
-      "defaultValue": "nobody",
+      "recommendedValue": "nobody",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3660,7 +3662,7 @@ module.exports =
       "name": "gmond_user",
       "displayName": "Gmond User",
       "description": "The user used to run gmond for Ganglia",
-      "defaultValue": "nobody",
+      "recommendedValue": "nobody",
       "isReconfigurable": false,
       "displayType": "advanced",
       "isOverridable": false,
@@ -3675,7 +3677,7 @@ module.exports =
       "name": "tez_user",
       "displayName": "Tez User",
       "description": "User to run Tez as",
-      "defaultValue": "tez",
+      "recommendedValue": "tez",
       "isReconfigurable": false,
       "displayType": "user",
       "isOverridable": false,
@@ -3705,7 +3707,7 @@ module.exports =
       "name": "rrdcached_base_dir",
       "displayName": "Ganglia rrdcached base directory",
       "description": "Default directory for saving the rrd files on ganglia server",
-      "defaultValue": "/var/lib/ganglia/rrds",
+      "recommendedValue": "/var/lib/ganglia/rrds",
       "displayType": "directory",
       "isReconfigurable": true,
       "isOverridable": false,


Mime
View raw message