Repository: ambari Updated Branches: refs/heads/trunk c8030852a -> f69b52409
AMBARI-10999 No validation errors happening on configs that are dynamically removed and added. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f69b5240 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f69b5240 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f69b5240 Branch: refs/heads/trunk Commit: f69b5240939f61aa336bccf304636f2f5889b216 Parents: c803085 Author: aBabiichuk <[email protected]> Authored: Thu May 7 19:49:08 2015 +0300 Committer: aBabiichuk <[email protected]> Committed: Thu May 7 19:49:08 2015 +0300 ---------------------------------------------------------------------- .../services/HIVE/configuration/hive-site.xml | 10 +++++----- .../controllers/main/service/info/configs.js | 3 +-- .../app/controllers/wizard/step7_controller.js | 2 ++ .../mixins/common/configs/enhanced_configs.js | 21 ++++++++++---------- ambari-web/app/mixins/common/serverValidator.js | 2 +- ambari-web/app/views/common/controls_view.js | 4 ++-- .../configs/widgets/config_widget_view_test.js | 2 +- 7 files changed, 23 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml index f77977d..2783e1b 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml @@ -1639,7 +1639,7 @@ limitations under the License. </property> <property> <name>hive.server2.authentication.ldap.baseDN</name> - <value> </value> + <value></value> <depends-on> <property> <type>hive-site</type> @@ -1649,7 +1649,7 @@ limitations under the License. </property> <property> <name>hive.server2.authentication.kerberos.keytab</name> - <value> </value> + <value></value> <depends-on> <property> <type>hive-site</type> @@ -1659,7 +1659,7 @@ limitations under the License. </property> <property> <name>hive.server2.authentication.kerberos.principal</name> - <value> </value> + <value></value> <depends-on> <property> <type>hive-site</type> @@ -1669,7 +1669,7 @@ limitations under the License. </property> <property> <name>hive.server2.authentication.pam.services</name> - <value> </value> + <value></value> <depends-on> <property> <type>hive-site</type> @@ -1679,7 +1679,7 @@ limitations under the License. </property> <property> <name>hive.server2.custom.authentication.class</name> - <value> </value> + <value></value> <depends-on> <property> <type>hive-site</type> http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/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 293bba7..318a26c 100644 --- a/ambari-web/app/controllers/main/service/info/configs.js +++ b/ambari-web/app/controllers/main/service/info/configs.js @@ -442,8 +442,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM if (!c.get('recommendedValue')) { c.set('recommendedValue', advanced.get('value')); } - } - else { + } else if (advanced.get('widget')) { configs.pushObject(App.ServiceConfigProperty.create({ name: advanced.get('name'), displayName: advanced.get('displayName'), http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/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 e019e1d..f2efe68 100644 --- a/ambari-web/app/controllers/wizard/step7_controller.js +++ b/ambari-web/app/controllers/wizard/step7_controller.js @@ -640,6 +640,8 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E self.addKerberosDescriptorConfigs(configs, self.get('wizardController.kerberosDescriptorConfigs') || []); } self.setStepConfigs(configs, storedConfigs); + self.updateDependentConfigs(); + self.clearDependentConfigs(); self.checkHostOverrideInstaller(); self.activateSpecialConfigs(); self.selectProperService(); http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/ambari-web/app/mixins/common/configs/enhanced_configs.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js b/ambari-web/app/mixins/common/configs/enhanced_configs.js index c638439..7ed9a14 100644 --- a/ambari-web/app/mixins/common/configs/enhanced_configs.js +++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js @@ -281,7 +281,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({ dependenciesSuccess: function (data, opt, params) { this._saveRecommendedValues(data, params.initial, params.dataToSend.changed_configurations); if (!params.initial) { - this._updateDependentConfigs(); + this.updateDependentConfigs(); } }, @@ -293,7 +293,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({ var self = this; if (this.get('_dependentConfigValues.length') > 0) { App.showDependentConfigsPopup(this.get('_dependentConfigValues'), function() { - self._updateDependentConfigs(); + self.updateDependentConfigs(); if (callback) { callback(); } @@ -348,8 +348,8 @@ App.EnhancedConfigsMixin = Em.Mixin.create({ /** * saves values from response for dependent config properties to <code>_dependentConfigValues<code> * @param data - * @param updateOnlyBoundaries - * @param changedConfigs + * @param [updateOnlyBoundaries=false] + * @param [changedConfigs=null] * @method saveRecommendedValues * @private */ @@ -528,9 +528,8 @@ App.EnhancedConfigsMixin = Em.Mixin.create({ /** * save values that are stored in <code>_dependentConfigValues<code> * to step configs - * @private */ - _updateDependentConfigs: function() { + updateDependentConfigs: function() { var self = this; this.get('stepConfigs').forEach(function(serviceConfigs) { var selectedGroup = self.getGroupForService(serviceConfigs.get('serviceName')); @@ -559,17 +558,19 @@ App.EnhancedConfigsMixin = Em.Mixin.create({ if (Em.get(propertyToAdd, 'isDeleted')) { this.get('_dependentConfigValues').removeObject(propertyToAdd); } - stepConfigs.get('configs').pushObject(App.ServiceConfigProperty.create({ + var addedProperty = App.ServiceConfigProperty.create({ name: Em.get(propertyToAdd, 'propertyName'), displayName: Em.get(propertyToAdd, 'propertyName'), value: Em.get(propertyToAdd, 'recommendedValue'), defaultValue: Em.get(propertyToAdd, 'recommendedValue'), - category: 'Custom ' + Em.get(propertyToAdd, 'fileName'), + category: 'Advanced ' + Em.get(propertyToAdd, 'fileName'), serviceName: stepConfigs.get('serviceName'), filename: App.config.getOriginalFileName(Em.get(propertyToAdd, 'fileName')), isNotSaved: !Em.get(propertyToAdd, 'isDeleted'), - isRequired: false - })); + isRequired: true + }); + stepConfigs.get('configs').pushObject(addedProperty); + addedProperty.validate(); } else { var cp = stepConfigs.get('configs').filterProperty('name', Em.get(propertyToAdd, 'propertyName')).findProperty('filename', App.config.getOriginalFileName(Em.get(propertyToAdd, 'fileName'))); if (Em.get(propertyToAdd, 'isDeleted')) { http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/ambari-web/app/mixins/common/serverValidator.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/common/serverValidator.js b/ambari-web/app/mixins/common/serverValidator.js index 76c338b..ce8a426 100644 --- a/ambari-web/app/mixins/common/serverValidator.js +++ b/ambari-web/app/mixins/common/serverValidator.js @@ -144,7 +144,7 @@ App.ServerValidatorMixin = Em.Mixin.create({ if (!data) { console.warn('error while loading default config values'); } - this._saveRecommendedValues(data, true); + this._saveRecommendedValues(data); this.set("recommendationsConfigs", Em.get(data.resources[0] , "recommendations.blueprint.configurations")); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/ambari-web/app/views/common/controls_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/controls_view.js b/ambari-web/app/views/common/controls_view.js index 3e6c12e..2b29ebc 100644 --- a/ambari-web/app/views/common/controls_view.js +++ b/ambari-web/app/views/common/controls_view.js @@ -117,8 +117,8 @@ App.SupportsDependentConfigs = Ember.Mixin.create({ restoreDependentConfigs: function(parentConfig) { var controller = this.get('controller'); var dependentConfigs = controller.get('_dependentConfigValues'); - if (controller._updateDependentConfigs) { - controller._updateDependentConfigs(); + if (controller.updateDependentConfigs) { + controller.updateDependentConfigs(); controller.set('_dependentConfigValues', dependentConfigs.reject(function(item) { if (item.parentConfigs.contains(parentConfig.get('name'))) { if (item.parentConfigs.length > 1) { http://git-wip-us.apache.org/repos/asf/ambari/blob/f69b5240/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js index ea4f72f..031e4f2 100644 --- a/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js +++ b/ambari-web/test/views/common/configs/widgets/config_widget_view_test.js @@ -170,7 +170,7 @@ describe('App.ConfigWidgetView', function () { beforeEach(function() { view = App.ConfigWidgetView.create({ controller: Em.Object.create({ - _updateDependentConfigs: function() {} + updateDependentConfigs: function() {} }), config: Em.Object.create({ name: 'config1'}) });
