You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2014/02/20 23:56:30 UTC

git commit: Revert "AMBARI-4762 Modify Config pages to store/retrieve custom log4j configs as raw text. (ababiichuk)"

Repository: ambari
Updated Branches:
  refs/heads/trunk f02308fa1 -> eae58511e


Revert "AMBARI-4762 Modify Config pages to store/retrieve custom log4j configs as raw text. (ababiichuk)"

This reverts commit f02308fa1773f020988617d7546a13293c2df33c.


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

Branch: refs/heads/trunk
Commit: eae58511e5732f235a10250ab6a9640c7fe25173
Parents: f02308f
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Thu Feb 20 14:56:19 2014 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Thu Feb 20 14:56:19 2014 -0800

----------------------------------------------------------------------
 .../app/controllers/wizard/step7_controller.js  |   3 -
 .../app/controllers/wizard/step8_controller.js  |   6 +-
 ambari-web/app/data/HDP2/site_properties.js     | 138 +------------
 ambari-web/app/data/service_configs.js          |  28 +--
 ambari-web/app/utils/config.js                  | 198 ++++++-------------
 5 files changed, 73 insertions(+), 300 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/eae58511/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 7781677..18ce9db 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -353,9 +353,6 @@ App.WizardStep7Controller = Em.Controller.extend({
     if (this.get('allSelectedServiceNames').contains('YARN') && !App.supports.capacitySchedulerUi) {
       configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml');
     }
-    this.get('allSelectedServiceNames').forEach(function(serviceName) {
-      App.config.addLog4jConfig(configs, serviceName);
-    });
     this.set('groupsToDelete', this.get('wizardController').getDBProperty('groupsToDelete') || []);
     var localDB = {
       hosts: this.get('wizardController').getDBProperty('hosts'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/eae58511/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 339ea2b..ab0f909 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1292,12 +1292,12 @@ App.WizardStep8Controller = Em.Controller.extend({
     return {"type": "hdfs-site", "tag": "version1", "properties": hdfsProperties };
   },
 
-  createLog4jObj: function (serviceName) {
-    var fileName = serviceName.toLowerCase();
+  createLog4jObj: function (fileName) {
+    fileName = fileName.toLowerCase();
     var Log4jObj = this.get('configs').filterProperty('filename', fileName + '-log4j.xml');
     var Log4jProperties = {};
     Log4jObj.forEach(function (_configProperty) {
-      Log4jProperties[_configProperty.name] = _configProperty.value;
+      Log4jProperties[_configProperty.name] = App.config.escapeXMLCharacters(_configProperty.value);
       this._recordHostOverrideFromObj(_configProperty, fileName + '-log4j', 'version1', this);
       console.log("STEP*: name of the property is: " + _configProperty.name);
       console.log("STEP8: value of the property is: " + _configProperty.value);

http://git-wip-us.apache.org/repos/asf/ambari/blob/eae58511/ambari-web/app/data/HDP2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js
index e189e8c..e5a6a04 100644
--- a/ambari-web/app/data/HDP2/site_properties.js
+++ b/ambari-web/app/data/HDP2/site_properties.js
@@ -1596,142 +1596,6 @@ module.exports =
       "displayType": "multiLine",
       "serviceName": "WEBHCAT",
       "category": "Advanced"
-   /**********************************************log4j.properties***************************************/
-    },
-    {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "HDFS",
-     "filename": "hdfs-log4j.xml",
-     "category": "AdvancedHDFSLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "MAPREDUCE2",
-     "filename": "mapreduce2-log4j.xml",
-     "category": "AdvancedMapredLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "YARN",
-     "filename": "yarn-log4j.xml",
-     "category": "AdvancedYARNLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "HBASE",
-     "filename": "hbase-log4j.xml",
-     "category": "AdvancedHbaseLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "HIVE",
-     "filename": "hive-exec-log4j.xml",
-     "category": "AdvancedHiveExecLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "HIVE",
-     "filename": "hive-log4j.xml",
-     "category": "AdvancedHiveLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "OOZIE",
-     "filename": "oozie-log4j.xml",
-     "category": "AdvancedOozieLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "ZOOKEEPER",
-     "filename": "zookeeper-log4j.xml",
-     "category": "AdvancedZooLog4j"
-     },
-     {
-     "id": "site property",
-     "name": "content",
-     "displayName": "content",
-     "value": "",
-     "defaultValue": "",
-     "description": "log4j properties",
-     "displayType": "custom",
-     "isOverridable": true,
-     "isRequired": false,
-     "isVisible": true,
-     "serviceName": "PIG",
-     "filename": "pig-log4j.xml",
-     "category": "AdvancedPigLog4j"
-     }
+    }
   ]
 };

http://git-wip-us.apache.org/repos/asf/ambari/blob/eae58511/ambari-web/app/data/service_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/service_configs.js b/ambari-web/app/data/service_configs.js
index 803d6df..5660782 100644
--- a/ambari-web/app/data/service_configs.js
+++ b/ambari-web/app/data/service_configs.js
@@ -37,7 +37,7 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedCoreSite', displayName : 'Custom core-site.xml', siteFileName: 'core-site.xml', canAddProperty: true}),
       App.ServiceConfigCategory.create({ name: 'AdvancedHDFSSite', displayName : 'Custom hdfs-site.xml', siteFileName: 'hdfs-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedHDFSLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hdfs-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedHDFSLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hdfs-log4j.xml', canAddProperty: true})
     ],
     sites: ['global', 'core-site', 'hdfs-site', 'hdfs-log4j'],
     configs: []
@@ -64,9 +64,9 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'General', displayName : 'General'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedMapredSite', displayName : 'Custom mapred-site.xml', siteFileName: 'mapred-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedMapredLog4j', displayName : 'Custom log4j.properties', siteFileName: 'mapreduce-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedMapredLog4j', displayName : 'Custom log4j.properties', siteFileName: 'mapred-log4j.xml', canAddProperty: true})
     ],
-    sites: ['global', 'mapred-site', 'mapred-queue-acls', 'mapreduce-log4j'],
+    sites: ['global', 'mapred-site', 'mapred-queue-acls', 'mapred-log4j'],
     configs: []
   },
 
@@ -84,7 +84,7 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'CapacityScheduler', displayName : 'Scheduler', isCapacityScheduler : true, isCustomView: true, siteFileName: 'capacity-scheduler.xml', siteFileNames: ['capacity-scheduler.xml', 'mapred-queue-acls.xml'], canAddProperty: App.supports.capacitySchedulerUi}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedYARNSite', displayName : 'Custom yarn-site.xml', siteFileName: 'yarn-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedYARNLog4j', displayName : 'Custom log4j.properties', siteFileName: 'yarn-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedYARNLog4j', displayName : 'Custom log4j.properties', siteFileName: 'yarn-log4j.xml', canAddProperty: true})
     ],
     sites: ['global', 'yarn-site', 'capacity-scheduler', 'yarn-log4j'],
     configs: []
@@ -101,9 +101,9 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'General', displayName : 'General'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedMapredSite', displayName : 'Custom mapred-site.xml', siteFileName: 'mapred-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedMapredLog4j', displayName : 'Custom log4j.properties', siteFileName: 'mapreduce2-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedMapredLog4j', displayName : 'Custom log4j.properties', siteFileName: 'mapred-log4j.xml', canAddProperty: true})
     ],
-    sites: ['global', 'mapred-site', 'mapred-queue-acls', 'mapreduce2-log4j'],
+    sites: ['global', 'mapred-site', 'mapred-queue-acls', 'mapred-log4j'],
     configs: []
   },
 
@@ -115,10 +115,10 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'Hive Metastore', displayName : 'Hive Metastore'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedHiveSite', displayName : 'Custom hive-site.xml', siteFileName: 'hive-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedHiveLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hive-log4j.xml'}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedHiveExecLog4j', displayName : 'Custom hive-exec-log4j', siteFileName: 'hive-exec-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedHiveLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hive-log4j.xml', canAddProperty: true}),
+      App.ServiceConfigCategory.create({ name: 'AdvancedHiveExecLog4j', displayName : 'Custom hive-exec-log4j', siteFileName: 'hive-exec-log4j.xml', canAddProperty: true})
     ],
-    sites: ['global', 'hive-site', 'hive-log4j', 'hive-exec-log4j'],
+    sites: ['global', 'hive-site', 'hive-log4j', 'hive-log4j-exec'],
     configs: []
   },
 
@@ -145,7 +145,7 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'General', displayName : 'General'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedHbaseSite', displayName : 'Custom hbase-site.xml', siteFileName: 'hbase-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedHbaseLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hbase-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedHbaseLog4j', displayName : 'Custom log4j.properties', siteFileName: 'hbase-log4j.xml', canAddProperty: true})
     ],
     sites: ['global', 'hbase-site', 'hbase-log4j'],
     configs: []
@@ -157,10 +157,10 @@ module.exports = [
     configCategories: [
       App.ServiceConfigCategory.create({ name: 'ZooKeeper Server', displayName : 'ZooKeeper Server'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedZooLog4j', displayName : 'Custom log4j.properties', siteFileName: 'zookeeper-log4j.xml'}),
+      App.ServiceConfigCategory.create({ name: 'AdvancedZooLog4j', displayName : 'Custom log4j.properties', siteFileName: 'zoo-log4j.xml', canAddProperty: true}),
       App.ServiceConfigCategory.create({ name: 'AdvancedZooCfg', displayName : 'Custom zoo.cfg', siteFileName: 'zoo.cfg', canAddProperty: true})
     ],
-    sites: ['global', 'zookeeper-log4j', 'zoo.cfg'],
+    sites: ['global', 'zoo-log4j', 'zoo.cfg'],
     configs: []
   },
 
@@ -172,7 +172,7 @@ module.exports = [
       App.ServiceConfigCategory.create({ name: 'Oozie Server', displayName : 'Oozie Server'}),
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
       App.ServiceConfigCategory.create({ name: 'AdvancedOozieSite', displayName : 'Custom oozie-site.xml', siteFileName: 'oozie-site.xml', canAddProperty: true}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedOozieLog4j', displayName : 'Custom log4j.properties', siteFileName: 'oozie-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedOozieLog4j', displayName : 'Custom log4j.properties', siteFileName: 'oozie-log4j.xml', canAddProperty: true})
     ],
     sites: ['global', 'oozie-site', 'oozie-log4j'],
     configs: []
@@ -215,7 +215,7 @@ module.exports = [
     displayName: 'Pig',
     configCategories: [
       App.ServiceConfigCategory.create({ name: 'Advanced', displayName : 'Advanced'}),
-      App.ServiceConfigCategory.create({ name: 'AdvancedPigLog4j', displayName : 'Custom log4j.properties', siteFileName: 'pig-log4j.xml'})
+      App.ServiceConfigCategory.create({ name: 'AdvancedPigLog4j', displayName : 'Custom log4j.properties', siteFileName: 'pig-log4j.xml', canAddProperty: true})
     ],
     sites: ['pig-log4j'],
     configs: []

http://git-wip-us.apache.org/repos/asf/ambari/blob/eae58511/ambari-web/app/utils/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index 5f5f9cb..7bfe7cb 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -19,7 +19,6 @@
 var App = require('app');
 var stringUtils = require('utils/string_utils');
 
-var categotyConfigs = require('data/service_configs');
 var serviceComponents = {};
 var configGroupsByTag = [];
 
@@ -50,11 +49,6 @@ App.config = Em.Object.create({
    */
   filenameExceptions: ['zoo.cfg'],
 
-  log4jNotDefaultFilenames: [
-    {serviceName: 'HIVE', tagName: 'hive-exec-log4j.xml', configCroupName: 'AdvancedHiveExecLog4j', fileName:  'hive-exec-log4j.properties'},
-    {serviceName: 'HIVE', tagName: 'hive-log4j.xml', configCroupName: 'AdvancedHiveLog4j', fileName:  'hive-log4j.properties'}
-  ],
-
   /**
    * Since values end up in XML files (core-sit.xml, etc.), certain
    * XML sensitive characters should be escaped. If not we will have
@@ -251,7 +245,7 @@ App.config = Em.Object.create({
       properties = (properties.length) ? properties.objectAt(0).properties : {};
       for (var index in properties) {
         var configsPropertyDef =  null;
-        var preDefinedConfig = preDefinedConfigs.filterProperty('serviceName',serviceName).filterProperty('name', index);
+        var preDefinedConfig = preDefinedConfigs.filterProperty('name', index);
         preDefinedConfig.forEach(function(_preDefinedConfig){
           if (selectedServiceNames.contains(_preDefinedConfig.serviceName) || _preDefinedConfig.serviceName === 'MISC') {
             configsPropertyDef = _preDefinedConfig;
@@ -364,15 +358,10 @@ App.config = Em.Object.create({
     }, this);
 
     this.get('preDefinedSiteProperties').mapProperty('name').forEach(function (name) {
-      var _site = siteConfigs.filterProperty('name', name);
-      if (_site.length == 1) {
-        siteStart.push(_site[0]);
-        siteConfigs = siteConfigs.without(_site[0]);
-      } else if (_site.length >1) {
-        _site.forEach(function(site){
-          siteStart.push(site);
-          siteConfigs = siteConfigs.without(site);
-        }, this);
+      var _site = siteConfigs.findProperty('name', name);
+      if (_site) {
+        siteStart.push(_site);
+        siteConfigs = siteConfigs.without(_site);
       }
     }, this);
 
@@ -399,87 +388,69 @@ App.config = Em.Object.create({
   mergePreDefinedWithStored: function (storedConfigs, advancedConfigs, selectedServiceNames) {
     var mergedConfigs = [];
     var preDefinedConfigs = $.extend(true, [], this.get('preDefinedGlobalProperties').concat(this.get('preDefinedSiteProperties')));
-
+    var categoryMetaData = null;
     storedConfigs = (storedConfigs) ? storedConfigs : [];
 
     var preDefinedNames = preDefinedConfigs.mapProperty('name');
     var storedNames = storedConfigs.mapProperty('name');
     var names = preDefinedNames.concat(storedNames).uniq();
     names.forEach(function (name) {
-      var storedCfgs = storedConfigs.filterProperty('name', name);
-      var preDefinedCfgs = [];
+      var stored = storedConfigs.findProperty('name', name);
+      var preDefined;
       var preDefinedConfig = preDefinedConfigs.filterProperty('name', name);
-      preDefinedConfig.forEach(function (_preDefinedConfig) {
-        if (selectedServiceNames.contains(_preDefinedConfig.serviceName) || _preDefinedConfig.serviceName === 'MISC') {
-          preDefinedCfgs.push(_preDefinedConfig);
-        }
-      }, this);
+         preDefinedConfig.forEach(function(_preDefinedConfig){
+           if (selectedServiceNames.contains(_preDefinedConfig.serviceName) || _preDefinedConfig.serviceName === 'MISC') {
+             preDefined = _preDefinedConfig;
+           }
+         },this);
 
       var configData = {};
-      if (storedCfgs.length == 1 && preDefinedCfgs.length == 1) {
-        var stored = storedCfgs[0];
-        var preDefined = preDefinedCfgs[0];
-        var isAdvanced = advancedConfigs.someProperty('name', name);
-        if (preDefined && stored) {
-          configData = preDefined;
-          configData.value = stored.value;
-          configData.defaultValue = stored.defaultValue;
-          configData.overrides = stored.overrides;
-          configData.filename = stored.filename;
-          configData.description = stored.description;
-          configData.isRequiredByAgent = (configData.isRequiredByAgent !== undefined) ? configData.isRequiredByAgent : true;
-        } else if (!preDefined && stored) {
+      var isAdvanced = advancedConfigs.someProperty('name', name);
+      if (preDefined && stored) {
+        configData = preDefined;
+        configData.value = stored.value;
+        configData.defaultValue = stored.defaultValue;
+        configData.overrides = stored.overrides;
+        configData.filename = stored.filename;
+        configData.description = stored.description;
+        configData.isRequiredByAgent = (configData.isRequiredByAgent !== undefined) ? configData.isRequiredByAgent : true;
+      } else if (!preDefined && stored) {
 
-          configData = {
-            id: stored.id,
-            name: stored.name,
-            displayName: stored.name,
-            serviceName: stored.serviceName,
-            value: stored.value,
-            defaultValue: stored.defaultValue,
-            displayType: stringUtils.isSingleLine(stored.value) ? 'advanced' : 'multiLine',
-            filename: stored.filename,
-            category: 'Advanced',
-            isUserProperty: stored.isUserProperty === true,
-            isOverridable: true,
-            overrides: stored.overrides,
-            isRequired: true
-          };
-          this.calculateConfigProperties(configData, isAdvanced, advancedConfigs);
-        } else if (preDefined && !stored) {
-          configData = preDefined;
-          configData.isRequiredByAgent = (configData.isRequiredByAgent !== undefined) ? configData.isRequiredByAgent : true;
-          if (isAdvanced) {
-            var advanced = advancedConfigs.findProperty('name', configData.name);
-            // Password fields should be made blank by default in installer wizard
-            // irrespective of whatever value is sent from stack definition.
-            // This forces the user to fill the password field.
-            configData.value = configData.displayType == "password" ? '' : advanced.value;
-            configData.defaultValue = configData.value;
-            configData.filename = advanced.filename;
-            configData.description = advanced.description;
-          }
-        }
-        if (configData.displayType === 'checkbox') {
-          configData.value = configData.value === 'true'; // convert {String} value to {Boolean}
+        configData = {
+          id: stored.id,
+          name: stored.name,
+          displayName: stored.name,
+          serviceName: stored.serviceName,
+          value: stored.value,
+          defaultValue: stored.defaultValue,
+          displayType: stringUtils.isSingleLine(stored.value) ? 'advanced' : 'multiLine',
+          filename: stored.filename,
+          category: 'Advanced',
+          isUserProperty: stored.isUserProperty === true,
+          isOverridable: true,
+          overrides: stored.overrides,
+          isRequired: true
+        };
+        this.calculateConfigProperties(configData, isAdvanced, advancedConfigs);
+      } else if (preDefined && !stored) {
+        configData = preDefined;
+        configData.isRequiredByAgent = (configData.isRequiredByAgent !== undefined) ? configData.isRequiredByAgent : true;
+        if (isAdvanced) {
+          var advanced = advancedConfigs.findProperty('name', configData.name);
+          // Password fields should be made blank by default in installer wizard
+          // irrespective of whatever value is sent from stack definition.
+          // This forces the user to fill the password field.
+          configData.value = configData.displayType == "password" ? '' : advanced.value;
           configData.defaultValue = configData.value;
+          configData.filename = advanced.filename;
+          configData.description = advanced.description;
         }
-        mergedConfigs.push(configData);
-      } else {
-        preDefinedCfgs.forEach(function (cfg) {
-          configData = cfg;
-          var storedCfg = storedCfgs.findProperty('filename', cfg.filename);
-          if (storedCfg) {
-            configData.value = storedCfg.value;
-            configData.defaultValue = storedCfg.defaultValue;
-            configData.overrides = storedCfg.overrides;
-            configData.filename = storedCfg.filename;
-            configData.description = storedCfg.description;
-            configData.isRequiredByAgent = (configData.isRequiredByAgent !== undefined) ? configData.isRequiredByAgent : true;
-          }
-          mergedConfigs.push(configData);
-        }, this);
       }
+      if (configData.displayType === 'checkbox') {
+        configData.value = configData.value === 'true'; // convert {String} value to {Boolean}
+        configData.defaultValue = configData.value;
+      }
+      mergedConfigs.push(configData);
     }, this);
     return mergedConfigs;
   },
@@ -984,65 +955,6 @@ App.config = Em.Object.create({
     return configs;
   },
 
-
-  addLog4jConfig: function (configs, serviceName) {
-    var fileName = serviceName.toLowerCase() + '-log4j.xml';
-    var content = configs.filterProperty('serviceName', serviceName).findProperty('name', 'content');
-    if (!content || !content.value.length) {
-      var category = categotyConfigs.findProperty('serviceName', serviceName) && categotyConfigs.findProperty('serviceName', serviceName).configCategories.findProperty('siteFileName', fileName);
-      if (category) {
-        if (serviceName == 'HIVE') {
-          this.get('log4jNotDefaultFilenames').forEach(function (info) {
-            this.loadLog4jDefaultProperties(configs, 'HIVE', info.tagName, info.configCroupName, info.fileName);
-          }, this);
-        } else {
-          this.loadLog4jDefaultProperties(configs, serviceName, category.siteFileName, category.name);
-        }
-      }
-    }
-    /**
-     * Filtering properties to exclude {serviceName}-log4j.xml file. We don't use properties from this file,
-     * instead we load log4j.properties file as one property named "content".
-     * Filter can be deleted after {serviceName}-log4j.xml will be deleted from server
-     */
-    return configs.filter(function (_config) {
-      return (_config.filename !== fileName || _config.name == "content");
-    });
-  },
-
-  loadLog4jDefaultProperties: function(configs, serviceName, fileName, categoryName, log4jFile) {
-    var url = "/resources//stacks/HDP/" + App.get('currentStackVersionNumber') + "/services/" + serviceName + "/configuration/" + (log4jFile || "log4j.properties");
-    $.ajax({
-      type: "GET",
-      url: url,
-      async: false,
-      success: function(data) {
-        var log4jObj = new Object({
-          "id": "puppet var",
-          "name": "content",
-          "displayName": "content",
-          "value": data,
-          "defaultValue": data,
-          "description": "log4j properties",
-          "displayType": "custom",
-          "isOverridable": true,
-          "isRequired": true,
-          "isVisible": true,
-          "serviceName": serviceName,
-          "filename": fileName,
-          "category": categoryName
-        });
-        var cfg = configs.findProperty('filename',fileName);
-        if (!cfg) {
-          configs.push(log4jObj);
-        } else {
-          cfg.value = data;
-          cfg.defaultValue = data;
-        }
-      }
-    });
-  },
-
   /**
    * trim trailing spaces for all properties.
    * trim both trailing and leading spaces for host displayType and hive/oozie datebases url.