Repository: ambari Updated Branches: refs/heads/trunk 2feea0bd8 -> e8deead66
AMBARI-14537 Update API request using resource predicate (akovalenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d6883af7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d6883af7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d6883af7 Branch: refs/heads/trunk Commit: d6883af71dc90c21e400e32553adad76e653f00d Parents: 2feea0b Author: Aleksandr Kovalenko <[email protected]> Authored: Mon Jan 4 17:14:35 2016 +0200 Committer: Aleksandr Kovalenko <[email protected]> Committed: Mon Jan 4 17:14:35 2016 +0200 ---------------------------------------------------------------------- ambari-web/app/controllers/main/service.js | 31 ++++++-------------- ambari-web/app/utils/ajax/ajax.js | 22 ++++++++++++++ .../test/controllers/main/service_test.js | 13 +------- 3 files changed, 32 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d6883af7/ambari-web/app/controllers/main/service.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service.js b/ambari-web/app/controllers/main/service.js index 8fda05a..ab68890 100644 --- a/ambari-web/app/controllers/main/service.js +++ b/ambari-web/app/controllers/main/service.js @@ -300,20 +300,15 @@ App.MainServiceController = Em.ArrayController.extend({ */ restartAllRequired: function () { var self = this; - var servicesList = []; - var hostComponentsToRestart = []; if (!this.get('isRestartAllRequiredDisabled')) { - App.HostComponent.find().filterProperty('staleConfigs').forEach(function (hostComponent) { - hostComponentsToRestart.push({ - component_name: hostComponent.get('componentName'), - service_name: hostComponent.get('service.serviceName'), - hosts: hostComponent.get('hostName') - }); - servicesList.push(hostComponent.get('service.displayName')); - }); return App.showConfirmationPopup(function () { - self.restartHostComponents(hostComponentsToRestart); - }, Em.I18n.t('services.service.refreshAll.confirmMsg').format(servicesList.uniq().join(', ')), null, null, Em.I18n.t('services.service.restartAll.confirmButton')); + self.restartHostComponents(); + }, Em.I18n.t('services.service.refreshAll.confirmMsg').format( + App.HostComponent.find().filterProperty('staleConfigs').mapProperty('service.displayName').uniq().join(', ')), + null, + null, + Em.I18n.t('services.service.restartAll.confirmButton') + ); } else { return null; } @@ -323,18 +318,10 @@ App.MainServiceController = Em.ArrayController.extend({ * Send request restart host components from hostComponentsToRestart * @returns {$.ajax} */ - restartHostComponents: function (hostComponentsToRestart) { + restartHostComponents: function () { App.ajax.send({ - name: 'restart.hostComponents', + name: 'restart.staleConfigs', sender: this, - data: { - context: 'Restart all required services', - resource_filters: hostComponentsToRestart, - operation_level: { - level: "CLUSTER", - cluster_name: App.get('clusterName') - } - }, success: 'restartAllRequiredSuccessCallback' }); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/d6883af7/ambari-web/app/utils/ajax/ajax.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index 762ffa6..b52bcfe 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -2178,6 +2178,28 @@ var urls = { } }, + 'restart.staleConfigs': { + 'real': "/clusters/{clusterName}/requests", + 'mock': "", + 'format': function () { + return { + type: 'POST', + data: JSON.stringify({ + "RequestInfo": { + "command": "RESTART", + "context": "Restart all required services", + "operation_level": "host_component" + }, + "Requests/resource_filters": [ + { + "hosts_predicate": "HostRoles/stale_configs=true" + } + ] + }) + } + } + }, + 'bulk_request.decommission': { 'real': '/clusters/{clusterName}/requests', 'mock': '', http://git-wip-us.apache.org/repos/asf/ambari/blob/d6883af7/ambari-web/test/controllers/main/service_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/service_test.js b/ambari-web/test/controllers/main/service_test.js index 3c90b9d..f9e6e8b 100644 --- a/ambari-web/test/controllers/main/service_test.js +++ b/ambari-web/test/controllers/main/service_test.js @@ -396,18 +396,7 @@ describe('App.MainServiceController', function () { popup = mainServiceController.restartAllRequired(); popup.onPrimary(); expect(App.showConfirmationPopup.args[0][1]).to.equal(Em.I18n.t('services.service.refreshAll.confirmMsg').format('displayName1, displayName2')); - expect(mainServiceController.restartHostComponents.calledWith([ - { - component_name: 'componentName1', - service_name: 'serviceName1', - hosts: 'hostName1' - }, - { - component_name: 'componentName2', - service_name: 'serviceName2', - hosts: 'hostName2' - } - ])).to.be.true; + expect(mainServiceController.restartHostComponents.calledOnce).to.be.true; }); it('should not open popup if isRestartAllRequiredDisabled is true', function(){
