You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2014/12/24 13:13:01 UTC
ambari git commit: AMBARI-8904. Alerts UI: Create Notification (step
8) request issue (onechiporenko)
Repository: ambari
Updated Branches:
refs/heads/trunk bf3d2857f -> bbb346667
AMBARI-8904. Alerts UI: Create Notification (step 8) request issue (onechiporenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bbb34666
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bbb34666
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bbb34666
Branch: refs/heads/trunk
Commit: bbb346667a80af773f8b9d2b10c6d53d01d024d2
Parents: bf3d285
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Wed Dec 24 13:51:42 2014 +0200
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Wed Dec 24 13:51:42 2014 +0200
----------------------------------------------------------------------
.../app/controllers/wizard/step8_controller.js | 81 ++++++++++----------
.../test/controllers/wizard/step8_test.js | 22 +++---
2 files changed, 54 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/bbb34666/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 1ce55ca..a0f3e6d 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1820,52 +1820,55 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
/**
* Create one Alert Notification (if user select this on step7)
- * Only for Install Wizard and stack >= 2!
+ * Only for Install Wizard and stack
* @method createNotification
*/
createNotification: function () {
if (this.get('content.controllerName') !== 'installerController') return;
var miscConfigs = this.get('configs').filterProperty('serviceName', 'MISC'),
createNotification = miscConfigs.findProperty('name', 'create_notification').value;
- if (createNotification === 'yes') {
- var properties = {},
- names = [
- 'ambari.dispatch.recipients',
- 'mail.smtp.host',
- 'mail.smtp.port',
- 'mail.smtp.from',
- 'mail.smtp.starttls.enable',
- 'mail.smtp.startssl.enable'
- ];
- if (miscConfigs.findProperty('name', 'smtp_use_auth').value == 'true') { // yes, it's not converted to boolean
- names.pushObjects(['ambari.dispatch.credential.username', 'ambari.dispatch.credential.password']);
- }
- var customConfigNames = miscConfigs.filterProperty('displayType', 'advanced').filterProperty('filename', '').mapProperty('name');
- if (customConfigNames) {
- names.pushObjects(customConfigNames);
- }
- names.forEach(function (name) {
- properties[name] = miscConfigs.findProperty('name', name).value;
- });
+ if (createNotification !== 'yes') return;
+ var predefinedNotificationConfigNames = require('data/site_properties').configProperties.filterProperty('filename', 'alert_notification').mapProperty('name'),
+ configsForNotification = this.get('configs').filterProperty('filename', 'alert_notification');
+ var properties = {},
+ names = [
+ 'ambari.dispatch.recipients',
+ 'mail.smtp.host',
+ 'mail.smtp.port',
+ 'mail.smtp.from',
+ 'mail.smtp.starttls.enable',
+ 'mail.smtp.startssl.enable'
+ ];
+ if (miscConfigs.findProperty('name', 'smtp_use_auth').value == 'true') { // yes, it's not converted to boolean
+ names.pushObjects(['ambari.dispatch.credential.username', 'ambari.dispatch.credential.password']);
+ }
- properties['ambari.dispatch.recipients'] = properties['ambari.dispatch.recipients'].replace(/\s/g, '').split(',');
+ names.forEach(function (name) {
+ properties[name] = miscConfigs.findProperty('name', name).value;
+ });
- var apiObject = {
- AlertTarget: {
- name: 'Initial Notification',
- description: 'Notification created during cluster installing',
- global: true,
- notification_type: 'EMAIL',
- alert_states: ['OK', 'WARNING', 'CRITICAL', 'UNKNOWN'],
- properties: properties
- }
- };
- this.addRequestToAjaxQueue({
- name: 'alerts.create_alert_notification',
- data: {
- data: apiObject
- }
- });
- }
+ properties['ambari.dispatch.recipients'] = properties['ambari.dispatch.recipients'].replace(/\s/g, '').split(',');
+
+ configsForNotification.forEach(function (config) {
+ if (predefinedNotificationConfigNames.contains(config.name)) return;
+ properties[config.name] = config.value;
+ });
+
+ var apiObject = {
+ AlertTarget: {
+ name: 'Initial Notification',
+ description: 'Notification created during cluster installing',
+ global: true,
+ notification_type: 'EMAIL',
+ alert_states: ['OK', 'WARNING', 'CRITICAL', 'UNKNOWN'],
+ properties: properties
+ }
+ };
+ this.addRequestToAjaxQueue({
+ name: 'alerts.create_alert_notification',
+ data: {
+ data: apiObject
+ }
+ });
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/bbb34666/ambari-web/test/controllers/wizard/step8_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js
index 386f884..63772e7 100644
--- a/ambari-web/test/controllers/wizard/step8_test.js
+++ b/ambari-web/test/controllers/wizard/step8_test.js
@@ -1409,16 +1409,17 @@ describe('App.WizardStep8Controller', function () {
installerStep8Controller.clearStep();
installerStep8Controller.set('content', {controllerName: 'installerController'});
installerStep8Controller.set('configs', [
- {name: 'create_notification', value: 'yes', serviceName: 'MISC'},
- {name: 'ambari.dispatch.recipients', value: 'to@f.c', serviceName: 'MISC'},
- {name: 'mail.smtp.host', value: 'h', serviceName: 'MISC'},
- {name: 'mail.smtp.port', value: '25', serviceName: 'MISC'},
- {name: 'mail.smtp.from', value: 'from@f.c', serviceName: 'MISC'},
- {name: 'mail.smtp.starttls.enable', value: true, serviceName: 'MISC'},
- {name: 'mail.smtp.startssl.enable', value: false, serviceName: 'MISC'},
- {name: 'smtp_use_auth', value: 'true', serviceName: 'MISC'},
- {name: 'ambari.dispatch.credential.username', value: 'usr', serviceName: 'MISC'},
- {name: 'ambari.dispatch.credential.password', value: 'pwd', serviceName: 'MISC'}
+ {name: 'create_notification', value: 'yes', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'ambari.dispatch.recipients', value: 'to@f.c', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'mail.smtp.host', value: 'h', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'mail.smtp.port', value: '25', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'mail.smtp.from', value: 'from@f.c', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'mail.smtp.starttls.enable', value: true, serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'mail.smtp.startssl.enable', value: false, serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'smtp_use_auth', value: 'true', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'ambari.dispatch.credential.username', value: 'usr', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'ambari.dispatch.credential.password', value: 'pwd', serviceName: 'MISC', filename: 'alert_notification'},
+ {name: 'some_p', value: 'some_v', serviceName: 'MISC', filename: 'alert_notification'}
]);
installerStep8Controller.get('ajaxRequestsQueue').clear();
});
@@ -1448,6 +1449,7 @@ describe('App.WizardStep8Controller', function () {
expect(data.properties['mail.smtp.startssl.enable']).to.equal(false);
expect(data.properties['ambari.dispatch.credential.username']).to.equal('usr');
expect(data.properties['ambari.dispatch.credential.password']).to.equal('pwd');
+ expect(data.properties['some_p']).to.equal('some_v');
});