You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2014/02/26 03:22:08 UTC
git commit: AMBARI-4830. Bulk Ops: Recommissioning slaves does not
automatically invoke start as we do on Recommission from Host Details page.
(xiwang via yusaku)
Repository: ambari
Updated Branches:
refs/heads/trunk e92ae94e4 -> d5d610905
AMBARI-4830. Bulk Ops: Recommissioning slaves does not automatically invoke start as we do on Recommission from Host Details page. (xiwang via yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d5d61090
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d5d61090
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d5d61090
Branch: refs/heads/trunk
Commit: d5d6109058386dc1619cd4c1ed39cd70f7ba0090
Parents: e92ae94
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Tue Feb 25 18:21:49 2014 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Tue Feb 25 18:21:49 2014 -0800
----------------------------------------------------------------------
ambari-web/app/controllers/main/host.js | 66 ++++++++++++--------
ambari-web/app/controllers/main/host/details.js | 51 ++++++++-------
ambari-web/app/messages.js | 3 +
3 files changed, 70 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d5d61090/ambari-web/app/controllers/main/host.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host.js b/ambari-web/app/controllers/main/host.js
index 38796b7..8f8aa80 100644
--- a/ambari-web/app/controllers/main/host.js
+++ b/ambari-web/app/controllers/main/host.js
@@ -313,7 +313,7 @@ App.MainHostController = Em.ArrayController.extend({
},
/**
- * Bulk decommission for selected hostComponents
+ * Bulk decommission/recommission for selected hostComponents
* @param {Object} operationData
* @param {Array} hosts
*/
@@ -329,33 +329,47 @@ App.MainHostController = Em.ArrayController.extend({
if (components.length) {
var hostsWithComponentInProperState = components.mapProperty('host.hostName');
var turn_off = operationData.action.indexOf('OFF') !== -1;
- var parameters = {
- "slave_type": operationData.realComponentName
- };
- var contextString = turn_off? 'hosts.host.' + operationData.realComponentName.toLowerCase() + '.recommission':
- 'hosts.host.' + operationData.realComponentName.toLowerCase() + '.decommission';
+ var svcName = operationData.serviceName;
+ var masterName = operationData.componentName;
+ var slaveName = operationData.realComponentName;
+ var hostNames = hostsWithComponentInProperState.join(',');
if (turn_off) {
- parameters['included_hosts'] = hostsWithComponentInProperState.join(',')
- }
- else {
- parameters['excluded_hosts'] = hostsWithComponentInProperState.join(',');
- }
- // HBASE service, decommission RegionServer in batch requests
- if (operationData.serviceName == "HBASE") {
- var hostNames = hostsWithComponentInProperState.join(',');
- App.router.get('mainHostDetailsController').doDecommissionRegionServer(hostNames, operationData.serviceName, "HBASE_MASTER", operationData.realComponentName);
+ // For recommession
+ if (svcName === "YARN" || svcName === "HBASE" || svcName === "HDFS") {
+ App.router.get('mainHostDetailsController').doRecommissionAndStart(hostNames, svcName, masterName, slaveName);
+ }
+ else if (svcName === "MAPREDUCE") {
+ App.router.get('mainHostDetailsController').doRecommissionAndRestart(hostNames, svcName, masterName, slaveName);
+ }
} else {
- App.ajax.send({
- name: 'bulk_request.decommission',
- sender: this,
- data: {
- context: Em.I18n.t(contextString),
- serviceName: service.get('serviceName'),
- componentName: operationData.componentName,
- parameters: parameters
- },
- success: 'bulkOperationForHostComponentsSuccessCallback'
- });
+ //For decommession
+ if (svcName == "HBASE") {
+ // HBASE service, decommission RegionServer in batch requests
+ App.router.get('mainHostDetailsController').doDecommissionRegionServer(hostNames, svcName, masterName, slaveName);
+ } else {
+ var parameters = {
+ "slave_type": slaveName
+ };
+ var contextString = turn_off? 'hosts.host.' + slaveName.toLowerCase() + '.recommission':
+ 'hosts.host.' + slaveName.toLowerCase() + '.decommission';
+ if (turn_off) {
+ parameters['included_hosts'] = hostsWithComponentInProperState.join(',')
+ }
+ else {
+ parameters['excluded_hosts'] = hostsWithComponentInProperState.join(',');
+ }
+ App.ajax.send({
+ name: 'bulk_request.decommission',
+ sender: this,
+ data: {
+ context: Em.I18n.t(contextString),
+ serviceName: service.get('serviceName'),
+ componentName: operationData.componentName,
+ parameters: parameters
+ },
+ success: 'bulkOperationForHostComponentsSuccessCallback'
+ });
+ }
}
}
else {
http://git-wip-us.apache.org/repos/asf/ambari/blob/d5d61090/ambari-web/app/controllers/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host/details.js b/ambari-web/app/controllers/main/host/details.js
index 78a91d7..cb73e53 100644
--- a/ambari-web/app/controllers/main/host/details.js
+++ b/ambari-web/app/controllers/main/host/details.js
@@ -714,14 +714,13 @@ App.MainHostDetailsController = Em.Controller.extend({
var component = event.context;
var svcName = component.get('service.serviceName');
var hostName = self.get('content.hostName');
- var start_context = Em.I18n.t('requestInfo.startHostComponent') + " " + component.get('displayName');
// HDFS service, Recommission datanode
if (svcName === "HDFS") {
- self.doRecommissionAndStart(hostName, svcName, "NAMENODE", "DATANODE", start_context);
+ self.doRecommissionAndStart(hostName, svcName, "NAMENODE", "DATANODE");
}
// YARN service, Recommission nodeManager
if (svcName === "YARN") {
- self.doRecommissionAndStart(hostName, svcName, "RESOURCEMANAGER", "NODEMANAGER", start_context);
+ self.doRecommissionAndStart(hostName, svcName, "RESOURCEMANAGER", "NODEMANAGER");
}
// MAPREDUCE service, Recommission taskTracker
if (svcName === "MAPREDUCE") {
@@ -729,7 +728,7 @@ App.MainHostDetailsController = Em.Controller.extend({
}
// HBASE service, Recommission RegionServer
if (svcName === "HBASE") {
- self.doRecommissionAndStart(hostName, svcName, "HBASE_MASTER", "HBASE_REGIONSERVER", start_context);
+ self.doRecommissionAndStart(hostName, svcName, "HBASE_MASTER", "HBASE_REGIONSERVER");
}
// load data (if we need to show this background operations popup) from persist
@@ -766,7 +765,7 @@ App.MainHostDetailsController = Em.Controller.extend({
/**
* Performs Decommission (for RegionServer)
*/
- doDecommissionRegionServer: function(hostName, serviceName, componentName, slaveType){
+ doDecommissionRegionServer: function(hostNames, serviceName, componentName, slaveType){
App.ajax.send({
name: 'host.host_component.recommission_and_restart',
@@ -787,22 +786,23 @@ App.MainHostDetailsController = Em.Controller.extend({
"component_name" : componentName,
"parameters" : {
"slave_type": slaveType,
- "excluded_hosts": hostName
+ "excluded_hosts": hostNames
}
}
}
},
{
- "order_id" : 2,
- "type" : "PUT",
- "uri" : App.apiPrefix + "/clusters/" + App.get('clusterName') + "/hosts/" + hostName + "/host_components/" + slaveType.toUpperCase(),
+ "order_id": 2,
+ "type": "PUT",
+ "uri" : App.apiPrefix + "/clusters/" + App.get('clusterName') + "/host_components",
"RequestBodyInfo" : {
"RequestInfo" : {
- "context" : Em.I18n.t('hosts.host.regionserver.decommission.batch2')
+ context: Em.I18n.t('hosts.host.regionserver.decommission.batch2'),
+ query: 'HostRoles/component_name=' + slaveType + '&HostRoles/host_name.in(' + hostNames + ')&HostRoles/maintenance_state=OFF'
},
"Body": {
- "HostRoles": {
- "state": 'INSTALLED'
+ HostRoles: {
+ state: "INSTALLED"
}
}
}
@@ -819,7 +819,7 @@ App.MainHostDetailsController = Em.Controller.extend({
"component_name" : componentName,
"parameters" : {
"slave_type": slaveType,
- "excluded_hosts": hostName,
+ "excluded_hosts": hostNames,
"mark_draining_only": "true"
}
}
@@ -857,9 +857,11 @@ App.MainHostDetailsController = Em.Controller.extend({
}
},
- doRecommissionAndStart: function(hostName, serviceName, componentName, slaveType, startContext){
+ doRecommissionAndStart: function(hostNames, serviceName, componentName, slaveType){
var contextNameString_1 = 'hosts.host.' + slaveType.toLowerCase() + '.recommission';
var context_1 = Em.I18n.t(contextNameString_1);
+ var contextNameString_2 = 'requestInfo.startHostComponent.' + slaveType.toLowerCase();
+ var startContext = Em.I18n.t(contextNameString_2);
App.ajax.send({
name: 'host.host_component.recommission_and_restart',
sender: this,
@@ -879,22 +881,23 @@ App.MainHostDetailsController = Em.Controller.extend({
"component_name" : componentName,
"parameters" : {
"slave_type": slaveType,
- "included_hosts": hostName
+ "included_hosts": hostNames
}
}
}
},
{
- "order_id" : 2,
- "type" : "PUT",
- "uri" : App.apiPrefix + "/clusters/" + App.get('clusterName') + "/hosts/" + hostName + "/host_components/" + slaveType.toUpperCase(),
+ "order_id": 2,
+ "type": "PUT",
+ "uri" : App.apiPrefix + "/clusters/" + App.get('clusterName') + "/host_components",
"RequestBodyInfo" : {
"RequestInfo" : {
- "context" : startContext
+ context: startContext,
+ query: 'HostRoles/component_name=' + slaveType + '&HostRoles/host_name.in(' + hostNames + ')&HostRoles/maintenance_state=OFF'
},
"Body": {
- "HostRoles": {
- "state": 'STARTED'
+ HostRoles: {
+ state: "STARTED"
}
}
}
@@ -905,7 +908,7 @@ App.MainHostDetailsController = Em.Controller.extend({
error: 'decommissionErrorCallback'
});
},
- doRecommissionAndRestart: function(hostName, serviceName, componentName, slaveType){
+ doRecommissionAndRestart: function(hostNames, serviceName, componentName, slaveType){
var contextNameString_1 = 'hosts.host.' + slaveType.toLowerCase() + '.recommission';
var context_1 = Em.I18n.t(contextNameString_1);
var contextNameString_2 = 'hosts.host.' + slaveType.toLowerCase() + '.restart';
@@ -929,7 +932,7 @@ App.MainHostDetailsController = Em.Controller.extend({
"component_name" : componentName,
"parameters" : {
"slave_type": slaveType,
- "included_hosts": hostName
+ "included_hosts": hostNames
}
}
}
@@ -944,7 +947,7 @@ App.MainHostDetailsController = Em.Controller.extend({
"command" : "RESTART",
"service_name" : serviceName,
"component_name" : slaveType,
- "hosts" : hostName
+ "hosts" : hostNames
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/d5d61090/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index e3b3dea..70e0f77 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -201,6 +201,9 @@ Em.I18n.translations = {
'requestInfo.stopAllServices':'Stop All Services',
'requestInfo.startAllServices':'Start All Services',
'requestInfo.startHostComponent':'Start',
+ 'requestInfo.startHostComponent.datanode':'Start DataNode',
+ 'requestInfo.startHostComponent.nodemanager':'Start NodeManager',
+ 'requestInfo.startHostComponent.hbaseregionserver':'Start HBase RegionServer',
'requestInfo.startHostComponents':'Start Components',
'requestInfo.upgradeHostComponent':'Upgrade',
'requestInfo.stopHostComponent':'Stop',