Преглед изворни кода

AMBARI-2033. Make frontend changes to account for the host component status UNKNOWN. (yusaku)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1476479 13f79535-47bb-0310-9956-ffa450edef68
Yusaku Sako пре 12 година
родитељ
комит
97068bc445
3 измењених фајлова са 19 додато и 7 уклоњено
  1. 3 0
      CHANGES.txt
  2. 13 7
      ambari-web/app/controllers/main/host/details.js
  3. 3 0
      ambari-web/app/messages.js

+ 3 - 0
CHANGES.txt

@@ -802,6 +802,9 @@ Trunk (unreleased changes):
 
  BUG FIXES
 
+ AMBARI-2033. Decommission DataNode does not have any request context.
+ (yusaku)
+
  AMBARI-2029. Error when loading /main/services directly. (yusaku)
  
  AMBARI-2039. Service check should be scheduled on a client that is on

+ 13 - 7
ambari-web/app/controllers/main/host/details.js

@@ -302,22 +302,24 @@ App.MainHostDetailsController = Em.Controller.extend({
         if (index < 0) {
           decommissionHostNames.push(hostName);
         }
-        self.doDatanodeDecommission(decommissionHostNames);
+        self.doDatanodeDecommission(decommissionHostNames, true);
       }
       App.router.get('backgroundOperationsController').showPopup();
     });
   },
 
   /**
-   * Performs either Decommission or Recommision by updating the hosts list on
+   * Performs either Decommission or Recommission by updating the hosts list on
    * server.
+   * @param decommission defines context for request (true for decommission and false for recommission)
    */
-  doDatanodeDecommission: function(decommissionHostNames){
+  doDatanodeDecommission: function(decommissionHostNames, decommission){
     var self = this;
     if (decommissionHostNames == null) {
       decommissionHostNames = [];
     }
     var invocationTag = String(new Date().getTime());
+    var context = decommission ? Em.I18n.t('hosts.host.datanode.decommission') : Em.I18n.t('hosts.host.datanode.recommission');
     var clusterName = App.router.get('clusterController.clusterName');
     var clusterUrl = App.apiPrefix + '/clusters/' + clusterName;
     var configsUrl = clusterUrl + '/configurations';
@@ -337,10 +339,14 @@ App.MainHostDetailsController = Em.Controller.extend({
       success: function(){
         var actionsUrl = clusterUrl + '/services/HDFS/actions/DECOMMISSION_DATANODE';
         var actionsData = {
-          parameters: {
-            excludeFileTag: invocationTag
+          RequestInfo: {
+            context: context},
+          Body: {
+            parameters: {
+              excludeFileTag: invocationTag
+            }
           }
-        }
+        };
         var actionsAjax = {
           type: 'POST',
           url: actionsUrl,
@@ -398,7 +404,7 @@ App.MainHostDetailsController = Em.Controller.extend({
         var hostName = self.get('content.hostName');
         var index = decommissionHostNames.indexOf(hostName);
         decommissionHostNames.splice(index, 1);
-        self.doDatanodeDecommission(decommissionHostNames);
+        self.doDatanodeDecommission(decommissionHostNames, false);
       }
       App.router.get('backgroundOperationsController').showPopup();
     });

+ 3 - 0
ambari-web/app/messages.js

@@ -851,6 +851,9 @@ Em.I18n.translations = {
   'host.host.componentFilter.slave':'Slave Components',
   'host.host.componentFilter.client':'Client Components',
   'hosts.host.addComponent.note':'Note: After this component is installed, go to Services -> Nagios to restart the Nagios service.  This is required for the alerts and notifications to work properly.',
+  'hosts.host.datanode.decommission':'Decommission DataNode',
+  'hosts.host.datanode.recommission':'Recommission DataNode',
+
 
   'hosts.host.alert.noAlerts':'No alerts',
   'hosts.host.alert.noAlerts.message':'There are no alerts for this host.',