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(){

Reply via email to