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);
});