You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2014/07/03 21:18:41 UTC

git commit: AMBARI-6379. In Host Detailed Page, decommissioned NM is labeled as STOPPED (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk d0700c39b -> df8d54979


AMBARI-6379. In Host Detailed Page, decommissioned NM is labeled as STOPPED (alexantonenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/df8d5497
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/df8d5497
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/df8d5497

Branch: refs/heads/trunk
Commit: df8d549795563c88e98c93a34b88a375b279a4c8
Parents: d0700c3
Author: Alex Antonenko <hi...@gmail.com>
Authored: Thu Jul 3 22:18:32 2014 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Thu Jul 3 22:18:32 2014 +0300

----------------------------------------------------------------------
 ambari-web/app/mappers/service_mapper.js                 |  2 ++
 .../host/details/host_components/decommissionable.js     |  5 ++++-
 ambari-web/app/utils/ajax/ajax.js                        |  2 +-
 .../details/host_component_views/nodemanager_view.js     | 11 ++++++++++-
 4 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/df8d5497/ambari-web/app/mappers/service_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/service_mapper.js b/ambari-web/app/mappers/service_mapper.js
index 5a11292..00680a3 100644
--- a/ambari-web/app/mappers/service_mapper.js
+++ b/ambari-web/app/mappers/service_mapper.js
@@ -24,6 +24,8 @@ App.serviceMapper = App.QuickDataMapper.create({
     json.items.forEach(function (service) {
       var cachedService = App.cache['services'].findProperty('ServiceInfo.service_name', service.ServiceInfo.service_name);
       if (cachedService) {
+        // restore service workStatus
+        App.Service.find(cachedService.ServiceInfo.service_name).set('workStatus', service.ServiceInfo.state);
         cachedService.ServiceInfo.state = service.ServiceInfo.state;
         cachedService.ServiceInfo.passive_state = service.ServiceInfo.maintenance_state;
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/df8d5497/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
index dce7044..5c98a9b 100644
--- a/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
+++ b/ambari-web/app/mixins/main/host/details/host_components/decommissionable.js
@@ -67,8 +67,10 @@ App.Decommissionable = Em.Mixin.create({
    * @type {bool}
    */
   isComponentDecommissionDisable: function() {
+    var masterComponent = this.get('content.service.hostComponents').findProperty('componentName', this.get('componentForCheckDecommission'));
+    if (masterComponent && masterComponent.get('workStatus') != App.HostComponentStatus.started) return true;
     return this.get('content.service.workStatus') != App.HostComponentStatus.started;
-  }.property('content.service.workStatus'),
+  }.property('content.service.workStatus', 'content.service.hostComponents.@each.workStatus'),
 
   /**
    * @override App.HostComponentView.isRestartableComponent
@@ -207,6 +209,7 @@ App.Decommissionable = Em.Mixin.create({
   getDecommissionStatusSuccessCallback: function (response) {
     var statusObject = response.ServiceComponentInfo;
     if ( statusObject != null) {
+      statusObject.component_state = response.host_components[0].HostRoles.state;
       this.set('decommissionedStatusObject', statusObject);
       return statusObject;
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/df8d5497/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 fb0b008..58db592 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -393,7 +393,7 @@ var urls = {
     'mock': ''
   },
   'host.host_component.decommission_status': {
-    'real': '/clusters/{clusterName}/services/{serviceName}/components/{componentName}/?fields=ServiceComponentInfo',
+    'real': '/clusters/{clusterName}/services/{serviceName}/components/{componentName}/?fields=ServiceComponentInfo,host_components/HostRoles/state',
     'mock': ''
   },
   'host.host_component.decommission_status_datanode': {

http://git-wip-us.apache.org/repos/asf/ambari/blob/df8d5497/ambari-web/app/views/main/host/details/host_component_views/nodemanager_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/details/host_component_views/nodemanager_view.js b/ambari-web/app/views/main/host/details/host_component_views/nodemanager_view.js
index c4ad2a1..13b1515 100644
--- a/ambari-web/app/views/main/host/details/host_component_views/nodemanager_view.js
+++ b/ambari-web/app/views/main/host/details/host_component_views/nodemanager_view.js
@@ -42,9 +42,13 @@ App.NodeManagerComponentView = App.HostComponentView.extend(App.Decommissionable
         case "DECOMMISSIONED":
           var deferred = $.Deferred();
           self.getDecommissionStatus().done( function() {
-            var curObj = self.get('decommissionedStatusObject');
+            var curObj = self.get('decommissionedStatusObject'),
+                rmComponent = self.get('content.service.hostComponents').findProperty('componentName', self.get('componentForCheckDecommission'));
+
+            rmComponent.set('workStatus', curObj.component_state);
             self.set('decommissionedStatusObject', null);
             if (curObj && curObj.rm_metrics) {
+              // Update RESOURCEMANAGER status
               var nodeManagersArray = App.parseJSON(curObj.rm_metrics.cluster.nodeManagers);
               if (nodeManagersArray.findProperty('HostName', hostName)){
                 // decommisioning ..
@@ -57,6 +61,11 @@ App.NodeManagerComponentView = App.HostComponentView.extend(App.Decommissionable
                 self.set('isComponentDecommissioning', false);
                 self.set('isComponentDecommissionAvailable', false);
               }
+            } else {
+              // in this case ResourceManager not started. Set status to Decommissioned
+              self.set('isComponentRecommissionAvailable', true);
+              self.set('isComponentDecommissioning', false);
+              self.set('isComponentDecommissionAvailable', false);
             }
             deferred.resolve(curObj);
           });