You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2013/12/25 14:06:49 UTC
[1/2] git commit: AMBARI-4166 Improve responsiveness on step 9 when
deploy in progress. (atkach)
Updated Branches:
refs/heads/trunk 8108ca459 -> aafadc5d5
AMBARI-4166 Improve responsiveness on step 9 when deploy in progress. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d522edb3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d522edb3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d522edb3
Branch: refs/heads/trunk
Commit: d522edb374c5421f9f0ed31f664e76ec5cffbc83
Parents: 8108ca4
Author: atkach <at...@hortonworks.com>
Authored: Wed Dec 25 12:40:51 2013 +0200
Committer: atkach <at...@hortonworks.com>
Committed: Wed Dec 25 15:05:24 2013 +0200
----------------------------------------------------------------------
.../app/controllers/wizard/step8_controller.js | 9 +-
.../app/controllers/wizard/step9_controller.js | 147 +++++++++----------
ambari-web/test/installer/step9_test.js | 44 +++---
3 files changed, 91 insertions(+), 109 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d522edb3/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 288456f..a5b6738 100644
--- a/ambari-web/app/controllers/wizard/step8_controller.js
+++ b/ambari-web/app/controllers/wizard/step8_controller.js
@@ -1387,10 +1387,7 @@ App.WizardStep8Controller = Em.Controller.extend({
this.ajax({
type: 'POST',
url: url,
- data: JSON.stringify(data),
- beforeSend: function () {
- console.log('BeforeSend: registerHostsToComponent for ' + queryStr + ' and component ' + componentName);
- }
+ data: JSON.stringify(data)
});
}, this);
},
@@ -1765,7 +1762,6 @@ App.WizardStep8Controller = Em.Controller.extend({
this.set('ajaxQueueLeft', this.get('ajaxQueue').length);
this.set('ajaxBusy', true);
- console.log('AJAX send ' + first.url);
$.ajax(first);
},
@@ -1859,10 +1855,7 @@ App.WizardStep8Controller = Em.Controller.extend({
// console.log('Step8: Error message is: ' + request.responseText);
},
success: function (data) {
- var jsonData = jQuery.parseJSON(data);
console.log("TRACE: STep8 -> In success function");
- console.log("TRACE: STep8 -> value of the url is: " + params.url);
- console.log("TRACE: STep8 -> value of the received data is: " + jsonData);
}
}, params);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d522edb3/ambari-web/app/controllers/wizard/step9_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step9_controller.js b/ambari-web/app/controllers/wizard/step9_controller.js
index 35bd222..a8e1489 100644
--- a/ambari-web/app/controllers/wizard/step9_controller.js
+++ b/ambari-web/app/controllers/wizard/step9_controller.js
@@ -49,23 +49,8 @@ App.WizardStep9Controller = Em.Controller.extend({
numPolls: 1,
POLL_INTERVAL: 4000,
- status: function () {
- if (this.get('hosts').someProperty('status', 'failed')) {
- return 'failed';
- }
- if (this.get('hosts').someProperty('status', 'warning')) {
- if (this.isStepFailed()) {
- return 'failed';
- } else {
- return 'warning';
- }
- }
- if(this.get('progress') == '100') {
- this.set('isStepCompleted', true);
- return 'success';
- }
- return 'info';
- }.property('hosts.@each.status', 'progress'),
+ visibleHosts: [],
+ status: 'info',
showRetry: function () {
return this.get('content.cluster.status') == 'INSTALL FAILED';
@@ -112,19 +97,43 @@ App.WizardStep9Controller = Em.Controller.extend({
return categories;
}.property(),
category: false,
- visibleHosts: function(){
+
+ hostStatusObserver: function(){
+ Ember.run.once(this, 'hostStatusUpdates');
+ }.observes('hosts.@each.status'),
+
+ hostStatusUpdates: function () {
+ this.updateVisibleHosts();
+ this.updateStatus();
+ },
+
+ updateVisibleHosts: function () {
var targetStatus = this.get('category.hostStatus');
- var visibleHosts = this.get('hosts').filter(function(_host) {
- if (targetStatus == 'all') {
- return true;
- }
+ var visibleHosts = (targetStatus === 'all') ? this.get('hosts') : this.get('hosts').filter(function (_host) {
if (targetStatus == 'inProgress') { // queued, pending, in_progress map to inProgress
return (_host.get('status') !== 'success' && _host.get('status') !== 'failed' && _host.get('status') !== 'warning');
}
return (_host.get('status') == targetStatus);
}, this);
- return visibleHosts;
- }.property('category', 'hosts.@each.status'),
+ this.set('visibleHosts', visibleHosts);
+ }.observes('category'),
+
+ updateStatus: function () {
+ var status = 'info';
+ if (this.get('hosts').someProperty('status', 'failed')) {
+ status = 'failed';
+ } else if (this.get('hosts').someProperty('status', 'warning')) {
+ if (this.isStepFailed()) {
+ status = 'failed';
+ } else {
+ status = 'warning';
+ }
+ } else if (this.get('progress') == '100') {
+ this.set('isStepCompleted', true);
+ status = 'success';
+ }
+ this.set('status', status);
+ }.observes('progress'),
logTasksChangesCounter: 0,
@@ -199,7 +208,7 @@ App.WizardStep9Controller = Em.Controller.extend({
loadStep: function () {
console.log("TRACE: Loading step9: Install, Start and Test");
this.clearStep();
- this.renderHosts(this.loadHosts());
+ this.loadHosts();
},
/**
* reset status and message of all hosts when retry install
@@ -214,33 +223,20 @@ App.WizardStep9Controller = Em.Controller.extend({
},
loadHosts: function () {
- var hostInfo = this.get('content.hosts');
- var hosts = new Ember.Set();
- for (var index in hostInfo) {
- var obj = Em.Object.create(hostInfo[index]);
- obj.message = (obj.message) ? obj.message : 'Waiting';
- obj.progress = 0;
- obj.status = (obj.status) ? obj.status : 'info';
- obj.tasks = [];
- obj.logTasks = [];
- hosts.add(obj);
+ var hosts = this.get('content.hosts');
+ for (var index in hosts) {
+ if (hosts[index].bootStatus === 'REGISTERED') {
+ var hostInfo = App.HostInfo.create({
+ name: hosts[index].name,
+ status: (hosts[index].status) ? hosts[index].status : 'info',
+ tasks: [],
+ logTasks: [],
+ message: (hosts[index].message) ? hosts[index].message : 'Waiting',
+ progress: 0
+ });
+ this.get('hosts').pushObject(hostInfo);
+ }
}
- return hosts.filterProperty('bootStatus', 'REGISTERED');
- },
-
- // sets this.hosts, where each element corresponds to a status and progress info on a host
- renderHosts: function (hostsInfo) {
- hostsInfo.forEach(function (_hostInfo) {
- var hostInfo = App.HostInfo.create({
- name: _hostInfo.name,
- status: _hostInfo.status,
- tasks: _hostInfo.tasks,
- logTasks: _hostInfo.logTasks,
- message: _hostInfo.message,
- progress: _hostInfo.progress
- });
- this.get('hosts').pushObject(hostInfo);
- }, this);
},
replacePolledData: function (polledData) {
@@ -450,7 +446,6 @@ App.WizardStep9Controller = Em.Controller.extend({
// marks a host's status as "success" if all tasks are in COMPLETED state
onSuccessPerHost: function (actions, contentHost) {
- if (!actions) return;
if (actions.everyProperty('Tasks.status', 'COMPLETED') && this.get('content.cluster.status') === 'INSTALLED') {
contentHost.set('status', 'success');
}
@@ -482,7 +477,6 @@ App.WizardStep9Controller = Em.Controller.extend({
},
onInProgressPerHost: function (actions, contentHost) {
- if (!actions) return;
var runningAction = actions.findProperty('Tasks.status', 'IN_PROGRESS');
if (runningAction === undefined || runningAction === null) {
runningAction = actions.findProperty('Tasks.status', 'QUEUED');
@@ -505,13 +499,14 @@ App.WizardStep9Controller = Em.Controller.extend({
progressPerHost: function (actions, contentHost) {
var progress = 0;
var actionsPerHost = actions.length;
- // TODO: consolidate to a single filter function for better performance
- var completedActions = actions.filterProperty('Tasks.status', 'COMPLETED').length
- + actions.filterProperty('Tasks.status', 'FAILED').length
- + actions.filterProperty('Tasks.status', 'ABORTED').length
- + actions.filterProperty('Tasks.status', 'TIMEDOUT').length;
- var queuedActions = actions.filterProperty('Tasks.status', 'QUEUED').length;
- var inProgressActions = actions.filterProperty('Tasks.status', 'IN_PROGRESS').length;
+ var completedActions = 0;
+ var queuedActions = 0;
+ var inProgressActions = 0;
+ actions.forEach(function (action) {
+ completedActions += +(['COMPLETED', 'FAILED', 'ABORTED', 'TIMEDOUT'].contains(action.Tasks.status));
+ queuedActions += +(action.Tasks.status === 'QUEUED');
+ inProgressActions += +(action.Tasks.status === 'IN_PROGRESS');
+ }, this);
/** for the install phase (PENDING), % completed per host goes up to 33%; floor(100 / 3)
* for the start phase (INSTALLED), % completed starts from 34%
* when task in queued state means it's completed on 9%
@@ -667,15 +662,15 @@ App.WizardStep9Controller = Em.Controller.extend({
// This is done at HostRole level.
setLogTasksStatePerHost: function (tasksPerHost, host) {
- if (!tasksPerHost) return;
tasksPerHost.forEach(function (_task) {
var task = host.logTasks.findProperty('Tasks.id', _task.Tasks.id);
if (task) {
- host.logTasks.removeObject(task);
+ task.Tasks.status = _task.Tasks.status;
+ task.Tasks.exit_code = _task.Tasks.exit_code;
+ } else {
+ host.logTasks.pushObject(_task);
}
- host.logTasks.pushObject(_task);
}, this);
- this.set('logTasksChangesCounter', this.get('logTasksChangesCounter') + 1);
},
parseHostInfo: function (polledData) {
@@ -695,19 +690,18 @@ App.WizardStep9Controller = Em.Controller.extend({
// current requestId.
return false;
}
- tasksData.setEach('Tasks.stderr', '');
- tasksData.setEach('Tasks.stdout', '');
- if (this.get('currentOpenTaskId')) {
- var currentTask = tasksData.findProperty('Tasks.id', this.get('currentOpenTaskId'));
- var log = this.get('currentOpenTaskLog');
- if (currentTask && log) {
- currentTask.Tasks.stderr = log.stderr;
- currentTask.Tasks.stdout = log.stdout;
- }
- }
this.replacePolledData(tasksData);
+ var tasksHostMap = {};
+ tasksData.forEach(function(task){
+ if(tasksHostMap[task.Tasks.host_name]) {
+ tasksHostMap[task.Tasks.host_name].push(task);
+ } else {
+ tasksHostMap[task.Tasks.host_name] = [task];
+ }
+ });
+
this.get('hosts').forEach(function (_host) {
- var actionsPerHost = tasksData.filterProperty('Tasks.host_name', _host.name); // retrieved from polled Data
+ var actionsPerHost = tasksHostMap[_host.name] || []; // retrieved from polled Data
if (actionsPerHost.length === 0) {
if(this.get('content.cluster.status') === 'PENDING') {
_host.set('progress', '33');
@@ -729,6 +723,7 @@ App.WizardStep9Controller = Em.Controller.extend({
_host.set('status', 'pending');
}
}, this);
+ this.set('logTasksChangesCounter', this.get('logTasksChangesCounter') + 1);
totalProgress = Math.floor(totalProgress / this.get('hosts.length'));
this.set('progress', totalProgress.toString());
console.log("INFO: right now the progress is: " + this.get('progress'));
@@ -743,7 +738,7 @@ App.WizardStep9Controller = Em.Controller.extend({
getUrl: function (requestId) {
var clusterName = this.get('content.cluster.name');
var requestId = requestId || this.get('content.cluster.requestId');
- var url = App.apiPrefix + '/clusters/' + clusterName + '/requests/' + requestId + '?fields=*,tasks/Tasks/command,tasks/Tasks/exit_code,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status';
+ var url = App.apiPrefix + '/clusters/' + clusterName + '/requests/' + requestId + '?fields=tasks/Tasks/command,tasks/Tasks/exit_code,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status';
console.log("URL for step9 is: " + url);
return url;
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/d522edb3/ambari-web/test/installer/step9_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/installer/step9_test.js b/ambari-web/test/installer/step9_test.js
index b0bb7b2..1b6fb9e 100644
--- a/ambari-web/test/installer/step9_test.js
+++ b/ambari-web/test/installer/step9_test.js
@@ -21,6 +21,7 @@ var Ember = require('ember');
var App = require('app');
require('models/hosts');
require('controllers/wizard/step9_controller');
+require('utils/helper');
describe('App.InstallerStep9Controller', function () {
@@ -98,6 +99,7 @@ describe('App.InstallerStep9Controller', function () {
];
tests.forEach(function(test) {
var controller = App.WizardStep9Controller.create({hosts: test.hosts, isStepFailed: function(){return test.isStepFailed}, progress: test.progress});
+ controller.updateStatus();
it(test.m, function() {
expect(controller.get('status')).to.equal(test.e);
});
@@ -191,7 +193,8 @@ describe('App.InstallerStep9Controller', function () {
describe('#loadHosts', function() {
var controller = App.WizardStep9Controller.create({content: {hosts: hosts_for_load_and_render}});
- var loaded_hosts = controller.loadHosts();
+ controller.loadHosts();
+ var loaded_hosts = controller.get('hosts');
it('Only REGISTERED hosts', function() {
expect(loaded_hosts.length).to.equal(2);
});
@@ -207,15 +210,6 @@ describe('App.InstallerStep9Controller', function () {
});
});
- describe('#renderHosts', function() {
- var controller = App.WizardStep9Controller.create({content: {hosts: hosts_for_load_and_render}});
- var loaded_hosts = controller.loadHosts();
- controller.renderHosts(loaded_hosts);
- it('All host should be rendered', function() {
- expect(controller.get('hosts.length')).to.equal(loaded_hosts.length);
- });
- });
-
describe('#hostHasClientsOnly', function() {
var tests = [
{
@@ -668,9 +662,9 @@ describe('App.InstallerStep9Controller', function () {
it('check requestId priority', function() {
cluster.set('content.cluster.requestId', 123);
var url = cluster.getUrl(321);
- expect(url).to.equal(App.apiPrefix + '/clusters/' + clusterName + '/requests/' + '321' + '?fields=tasks/*');
+ expect(url).to.equal(App.apiPrefix + '/clusters/' + clusterName + '/requests/' + '321' + '?fields=tasks/Tasks/command,tasks/Tasks/exit_code,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status');
url = cluster.getUrl();
- expect(url).to.equal(App.apiPrefix + '/clusters/' + clusterName + '/requests/' + '123' + '?fields=tasks/*');
+ expect(url).to.equal(App.apiPrefix + '/clusters/' + clusterName + '/requests/' + '123' + '?fields=tasks/Tasks/command,tasks/Tasks/exit_code,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status');
});
});
@@ -795,38 +789,36 @@ describe('App.InstallerStep9Controller', function () {
describe('#setLogTasksStatePerHost', function() {
var tests = [
{
- tasksPerHost: [{Tasks: {id: 1,message: '2'}},{Tasks: {id: 2,message: '2'}}],
+ tasksPerHost: [{Tasks: {id: 1,status: 'COMPLETED'}},{Tasks: {id: 2,status: 'COMPLETED'}}],
tasks: [],
- e: {m: '2',l: 2},
+ e: {m: 'COMPLETED',l: 2},
m: 'host didn\'t have tasks and got 2 new'
},
{
- tasksPerHost: [{Tasks: {id: 1,message: '2'}},{Tasks: {id: 2,message: '2'}}],
- tasks: [{Tasks: {id: 1,message: '1'}},{Tasks: {id: 2,message: '1'}}],
- e: {m: '2',l: 2},
+ tasksPerHost: [{Tasks: {id: 1,status: 'COMPLETED'}},{Tasks: {id: 2,status: 'COMPLETED'}}],
+ tasks: [{Tasks: {id: 1,status: 'IN_PROGRESS'}},{Tasks: {id: 2,status: 'IN_PROGRESS'}}],
+ e: {m: 'COMPLETED',l: 2},
m: 'host had 2 tasks and got both updated'
},
{
tasksPerHost: [],
- tasks: [{Tasks: {id: 1,message: '1'}},{Tasks: {id: 2,message: '1'}}],
- e: {m: '1',l: 2},
+ tasks: [{Tasks: {id: 1,status: 'IN_PROGRESS'}},{Tasks: {id: 2,status: 'IN_PROGRESS'}}],
+ e: {m: 'IN_PROGRESS',l: 2},
m: 'host had 2 tasks and didn\'t get updates'
},
{
- tasksPerHost: [{Tasks: {id: 1,message: '2'}},{Tasks: {id: 2,message: '2'}},{Tasks: {id: 3,message: '2'}}],
- tasks: [{Tasks: {id: 1,message: '1'}},{Tasks: {id: 2,message: '1'}}],
- e: {m: '2',l: 3},
+ tasksPerHost: [{Tasks: {id: 1,status: 'COMPLETED'}},{Tasks: {id: 2,status: 'COMPLETED'}},{Tasks: {id: 3,status: 'COMPLETED'}}],
+ tasks: [{Tasks: {id: 1,status: 'IN_PROGRESS'}},{Tasks: {id: 2,status: 'IN_PROGRESS'}}],
+ e: {m: 'COMPLETED',l: 3},
m: 'host had 2 tasks and got both updated and 1 new'
}
];
tests.forEach(function(test) {
it(test.m, function() {
var controller = App.WizardStep9Controller.create({hosts: [Em.Object.create({logTasks: test.tasks})]});
- var logTasksChangesCounter = controller.get('logTasksChangesCounter');
controller.setLogTasksStatePerHost(test.tasksPerHost, controller.get('hosts')[0]);
- expect(controller.get('hosts')[0].get('logTasks').everyProperty('Tasks.message', test.e.m)).to.equal(true);
+ expect(controller.get('hosts')[0].get('logTasks').everyProperty('Tasks.status', test.e.m)).to.equal(true);
expect(controller.get('hosts')[0].get('logTasks.length')).to.equal(test.e.l);
- expect(controller.get('logTasksChangesCounter')).to.equal(logTasksChangesCounter + 1);
});
});
});
@@ -965,7 +957,9 @@ describe('App.InstallerStep9Controller', function () {
tests.forEach(function(test) {
it(test.m, function() {
var controller = App.WizardStep9Controller.create({hosts: test.hosts, content: {cluster:{status: test.cluster.status}}, finishState: function(){return false;}});
+ var logTasksChangesCounter = controller.get('logTasksChangesCounter');
controller.parseHostInfo(test.polledData);
+ expect(controller.get('logTasksChangesCounter')).to.equal(logTasksChangesCounter + 1);
for (var name in test.e.hosts) {
expect(controller.get('hosts').findProperty('name', name).get('progress')).to.equal(test.e.hosts[name].progress);
}
[2/2] git commit: AMBARI-4003 Add Service Wizard: Customize Services
configs are not displayed. (Denys Buzhor via atkach)
Posted by at...@apache.org.
AMBARI-4003 Add Service Wizard: Customize Services configs are not displayed. (Denys Buzhor via atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aafadc5d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aafadc5d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aafadc5d
Branch: refs/heads/trunk
Commit: aafadc5d5072e5daa63daed2fa2934492cc5753c
Parents: d522edb
Author: atkach <at...@hortonworks.com>
Authored: Wed Dec 25 15:06:29 2013 +0200
Committer: atkach <at...@hortonworks.com>
Committed: Wed Dec 25 15:06:29 2013 +0200
----------------------------------------------------------------------
ambari-web/app/controllers/installer.js | 8 --------
ambari-web/app/controllers/main/service/add_controller.js | 4 +++-
ambari-web/app/controllers/wizard.js | 10 +++++++++-
ambari-web/app/routes/add_service_routes.js | 3 +++
4 files changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/aafadc5d/ambari-web/app/controllers/installer.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js
index 358542e..0bf7e6b 100644
--- a/ambari-web/app/controllers/installer.js
+++ b/ambari-web/app/controllers/installer.js
@@ -311,14 +311,6 @@ App.InstallerController = App.WizardController.extend({
this.set('content.advancedServiceConfig', this.getDBProperty('advancedServiceConfig'));
},
- /**
- * Load config groups from local DB
- */
- loadServiceConfigGroups: function () {
- var serviceConfigGroups = this.getDBProperty('serviceConfigGroups') || [];
- this.set('content.configGroups', serviceConfigGroups);
- console.log("InstallerController.configGroups: loaded config ", serviceConfigGroups);
- },
/**
* Load information about hosts with clients components
http://git-wip-us.apache.org/repos/asf/ambari/blob/aafadc5d/ambari-web/app/controllers/main/service/add_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/add_controller.js b/ambari-web/app/controllers/main/service/add_controller.js
index 12039db..7d73262 100644
--- a/ambari-web/app/controllers/main/service/add_controller.js
+++ b/ambari-web/app/controllers/main/service/add_controller.js
@@ -51,7 +51,8 @@ App.AddServiceController = App.WizardController.extend({
masterComponentHosts: null,
serviceConfigProperties: null,
advancedServiceConfig: null,
- controllerName: 'addServiceController'
+ controllerName: 'addServiceController',
+ configGroups: []
}),
setCurrentStep: function (currentStep, completed) {
@@ -388,6 +389,7 @@ App.AddServiceController = App.WizardController.extend({
case '5':
this.load('cluster');
case '4':
+ this.loadServiceConfigGroups();
this.loadServiceConfigProperties();
case '3':
this.loadServices();
http://git-wip-us.apache.org/repos/asf/ambari/blob/aafadc5d/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index d6e6e25..2a1351f 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -518,6 +518,14 @@ App.WizardController = Em.Controller.extend({
this.set('content.services', apiService);
this.setDBProperty('service',apiService);
},
+ /**
+ * Load config groups from local DB
+ */
+ loadServiceConfigGroups: function () {
+ var serviceConfigGroups = this.getDBProperty('serviceConfigGroups') || [];
+ this.set('content.configGroups', serviceConfigGroups);
+ console.log("InstallerController.configGroups: loaded config ", serviceConfigGroups);
+ },
registerErrPopup: function (header, message) {
App.ModalPopup.show({
@@ -760,4 +768,4 @@ App.WizardController = Em.Controller.extend({
this.setDBProperty('serviceConfigGroups', serviceConfigGroups);
this.set('content.serviceConfigProperties', serviceConfigGroups);
}
-});
\ No newline at end of file
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/aafadc5d/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 bc4e16b..1c845e1 100644
--- a/ambari-web/app/routes/add_service_routes.js
+++ b/ambari-web/app/routes/add_service_routes.js
@@ -205,6 +205,9 @@ module.exports = Em.Route.extend({
var addServiceController = router.get('addServiceController');
var wizardStep7Controller = router.get('wizardStep7Controller');
addServiceController.saveServiceConfigProperties(wizardStep7Controller);
+ if (App.supports.hostOverrides) {
+ addServiceController.saveServiceConfigGroups(wizardStep7Controller);
+ }
router.transitionTo('step5');
}
}),