You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2016/02/12 19:02:48 UTC
ambari git commit: AMBARI-15029. Adding a Service results in deleting
Config Group mappings (more than 1 CG present) (akovalenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 9d8675ade -> f7055ae76
AMBARI-15029. Adding a Service results in deleting Config Group mappings (more than 1 CG present) (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f7055ae7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f7055ae7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f7055ae7
Branch: refs/heads/trunk
Commit: f7055ae76a64f445d2845ce66f6ec925dc94f99d
Parents: 9d8675a
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Fri Feb 12 16:55:05 2016 +0200
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Fri Feb 12 20:01:58 2016 +0200
----------------------------------------------------------------------
.../controllers/main/service/info/configs.js | 4 +--
ambari-web/app/controllers/wizard.js | 4 ++-
.../app/controllers/wizard/step7_controller.js | 31 +++++++++++++-------
ambari-web/app/routes/add_service_routes.js | 1 +
ambari-web/test/controllers/wizard_test.js | 5 ++--
5 files changed, 29 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f7055ae7/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 ae2939e..b6a434c 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -429,8 +429,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
for (var prop in config.properties) {
var fileName = App.config.getOriginalFileName(config.type);
var serviceConfig = allConfigs.filterProperty('name', prop).findProperty('filename', fileName);
- var value = App.config.formatPropertyValue(serviceConfig, config.properties[prop]);
if (serviceConfig) {
+ var value = App.config.formatPropertyValue(serviceConfig, config.properties[prop]);
var isFinal = !!(config.properties_attributes && config.properties_attributes.final && config.properties_attributes.final[prop]);
if (self.get('selectedConfigGroup.isDefault') || configGroup.get('name') == self.get('selectedConfigGroup.name')) {
var overridePlainObject = {
@@ -444,7 +444,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
}
} else {
var isEditable = self.get('canEdit') && configGroup.get('name') == self.get('selectedConfigGroup.name');
- allConfigs.push(App.config.createCustomGroupConfig(prop, fileName, value, configGroup, isEditable));
+ allConfigs.push(App.config.createCustomGroupConfig(prop, fileName, config.properties[prop], configGroup, isEditable));
}
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f7055ae7/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index 762149f..05ef68e 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -889,11 +889,13 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
var installedServiceNames = stepController.get('installedServiceNames') || [];
var installedServiceNamesMap = installedServiceNames.toWickMap();
stepController.get('stepConfigs').forEach(function (_content) {
-
if (_content.serviceName === 'YARN') {
_content.set('configs', App.config.textareaIntoFileConfigs(_content.get('configs'), 'capacity-scheduler.xml'));
}
_content.get('configs').forEach(function (_configProperties) {
+ if (!Em.isNone(_configProperties.get('group'))) {
+ return false;
+ }
var configProperty = App.config.createDefaultConfig(
_configProperties.get('name'),
_configProperties.get('serviceName'),
http://git-wip-us.apache.org/repos/asf/ambari/blob/f7055ae7/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 7e96845..ee37427 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -479,14 +479,15 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
loadServiceConfigGroupOverridesSuccess: function (data, opt, params) {
data.items.forEach(function (config) {
+ var hostOverrideValue, hostOverrideIsFinal;
var group = params.typeTagToGroupMap[config.type + "///" + config.tag];
var properties = config.properties;
for (var prop in properties) {
var fileName = App.config.getOriginalFileName(config.type);
var serviceConfig = !!params.configKeyToConfigMap[fileName] ? params.configKeyToConfigMap[fileName][prop] : false;
- var hostOverrideValue = App.config.formatPropertyValue(serviceConfig, properties[prop]);
- var hostOverrideIsFinal = !!(config.properties_attributes && config.properties_attributes.final && config.properties_attributes.final[prop]);
if (serviceConfig) {
+ hostOverrideValue = App.config.formatPropertyValue(serviceConfig, properties[prop]);
+ hostOverrideIsFinal = !!(config.properties_attributes && config.properties_attributes.final && config.properties_attributes.final[prop]);
// Value of this property is different for this host.
if (!Em.get(serviceConfig, 'overrides')) Em.set(serviceConfig, 'overrides', []);
serviceConfig.overrides.pushObject({value: hostOverrideValue, group: group, isFinal: hostOverrideIsFinal});
@@ -595,6 +596,9 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
if (Em.isNone(serviceConfigProperty.get('isOverridable'))) {
serviceConfigProperty.set('isOverridable', true);
}
+ if (!Em.isNone(serviceConfigProperty.get('group'))) {
+ serviceConfigProperty.get('group.properties').pushObject(serviceConfigProperty);
+ }
this._updateOverridesForConfig(serviceConfigProperty, component);
this._updateIsEditableFlagForConfig(serviceConfigProperty, defaultGroupSelected);
@@ -1218,6 +1222,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
service.set('configGroups', [App.ServiceConfigGroup.find(id)]);
}
else {
+ App.store.commit();
App.store.loadMany(App.ServiceConfigGroup, serviceRawGroups);
App.store.commit();
serviceRawGroups.forEach(function(item){
@@ -1225,19 +1230,24 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
var wrappedProperties = [];
item.properties.forEach(function (propertyData) {
- var parentSCP = service.configs.filterProperty('filename', propertyData.filename).findProperty('name', propertyData.name);
- var overriddenSCP = App.ServiceConfigProperty.create(parentSCP);
- overriddenSCP.set('isOriginalSCP', false);
- overriddenSCP.set('parentSCP', parentSCP);
- overriddenSCP.set('group', modelGroup);
- overriddenSCP.setProperties(propertyData);
+ var overriddenSCP, parentSCP = service.configs.filterProperty('filename', propertyData.filename).findProperty('name', propertyData.name);
+ if (parentSCP) {
+ overriddenSCP = App.ServiceConfigProperty.create(parentSCP);
+ overriddenSCP.set('parentSCP', parentSCP);
+ } else {
+ overriddenSCP = App.config.createCustomGroupConfig(propertyData.name, propertyData.filename, propertyData.value, modelGroup, true, false);
+ this.get('stepConfigs').findProperty('serviceName', service.serviceName).get('configs').pushObject(overriddenSCP);
+ }
+ overriddenSCP.set('isOriginalSCP', false);
+ overriddenSCP.set('group', modelGroup);
+ overriddenSCP.setProperties(propertyData);
wrappedProperties.pushObject(App.ServiceConfigProperty.create(overriddenSCP));
- });
+ }, this);
modelGroup.set('properties', wrappedProperties);
}, this);
service.set('configGroups', App.ServiceConfigGroup.find().filterProperty('serviceName', service.get('serviceName')));
}
- });
+ }, this);
},
/**
@@ -1318,6 +1328,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
* @method _setOverrides
*/
_setOverrides: function (config, overrides) {
+ if (config.get('group')) return config;
var selectedGroup = this.get('selectedConfigGroup'),
overrideToAdd = this.get('overrideToAdd'),
configOverrides = overrides.filterProperty('name', config.get('name'));
http://git-wip-us.apache.org/repos/asf/ambari/blob/f7055ae7/ambari-web/app/routes/add_service_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_service_routes.js b/ambari-web/app/routes/add_service_routes.js
index 8658142..d6bab53 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -201,6 +201,7 @@ module.exports = App.WizardRoute.extend({
});
router.get('wizardStep7Controller').set('recommendationsConfigs', null);
router.get('wizardStep7Controller').clearAllRecommendations();
+ addServiceController.setDBProperty('serviceConfigGroups', undefined);
router.transitionTo('step4');
});
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/f7055ae7/ambari-web/test/controllers/wizard_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard_test.js b/ambari-web/test/controllers/wizard_test.js
index d9239200..0264472 100644
--- a/ambari-web/test/controllers/wizard_test.js
+++ b/ambari-web/test/controllers/wizard_test.js
@@ -1143,7 +1143,6 @@ describe('App.WizardController', function () {
isRequiredByAgent: true,
hasInitialValue: true,
isRequired: true,
- group: {name: 'group'},
showLabel: true,
category: 'some_category'
})
@@ -1177,10 +1176,10 @@ describe('App.WizardController', function () {
})
]});
- it('should save configs to content.serviceConfigProperties', function () {
+ it('should save configs from default config group to content.serviceConfigProperties', function () {
c.saveServiceConfigProperties(stepController);
var saved = c.get('content.serviceConfigProperties');
- expect(saved.length).to.equal(2);
+ expect(saved.length).to.equal(1);
expect(saved[0].category).to.equal('some_category');
});