Browse Source

AMBARI-4514. On Decom/Recom, sometimes it takes a long time for the background operations to appear. (xiwang via yusaku)

Yusaku Sako 11 years ago
parent
commit
e969f4388a
1 changed files with 22 additions and 10 deletions
  1. 22 10
      ambari-web/app/controllers/main/host/details.js

+ 22 - 10
ambari-web/app/controllers/main/host/details.js

@@ -818,18 +818,30 @@ App.MainHostDetailsController = Em.Controller.extend({
     });
   },
 
-  decommissionAndStartSuccessCallback: function (response, request, data) {
-    console.log('Success in decommission callback:' + response);
-    if (!App.testMode) {
-      App.router.get('clusterController').loadUpdatedStatusDelayed(500);
-    }
-  },
-  decommissionSuccessCallback: function (response, request, data) {
-    console.log('Success in decommission callback:' + response);
-  },
   decommissionErrorCallback: function (request, ajaxOptions, error) {
     console.log('ERROR: '+ error);
   },
+  /**
+   * Success ajax response for Recommission/Decommission slaves
+   * @param data
+   * @param ajaxOptions
+   */
+  decommissionSuccessCallback: function(data, ajaxOptions) {
+    if(data && (data.Requests || data.resources[0].RequestSchedule) ) {
+      if (!App.testMode) {
+        App.router.get('clusterController').loadUpdatedStatusDelayed(500);
+      }
+      // load data (if we need to show this background operations popup) from persist
+      App.router.get('applicationController').dataLoading().done(function (initValue) {
+        if (initValue) {
+          App.router.get('backgroundOperationsController').showPopup();
+        }
+      });
+    }
+    else {
+      console.log('cannot get request id from ', data);
+    }
+  },
 
   doRecommissionAndStart:  function(hostName, serviceName, componentName, slaveType, startContext){
     var contextNameString_1 = 'hosts.host.' + slaveType.toLowerCase() + '.recommission';
@@ -875,7 +887,7 @@ App.MainHostDetailsController = Em.Controller.extend({
           }
         ]
       },
-      success: 'decommissionAndStartSuccessCallback',
+      success: 'decommissionSuccessCallback',
       error: 'decommissionErrorCallback'
     });
   },