clusterDef.getCurrentReport().setAction("");
clusterDef.getCurrentReport().setClusterAndNodesServiceStatus(ServiceStatus.STARTED);
} catch (SoftwareManagementPluginException ex) {
if (ex instanceof CommandExecFailException) {
String hostId = ((CommandExecFailException)ex).getRefHostId();
CmNodeDef nodeDef = clusterDef.idToHosts().get(hostId);
String errMsg = null;
if (nodeDef != null) {
errMsg = "Failed to start role for node " + nodeDef.getName() + " for "
+ ((ex.getMessage() == null) ? "" : (", " + ex.getMessage()));
// reset all node actions.
clusterDef.getCurrentReport().setNodesAction("", addedNodeNames);
clusterDef.getCurrentReport().setNodesStatus(ServiceStatus.STOPPED, addedNodeNames);
// set error message for specified node
clusterDef.getCurrentReport().getNodeReports()
.get(nodeDef.getName()).setErrMsg(errMsg);
throw SoftwareManagementPluginException.START_SERVICE_FAILED(ex, Constants.CDH_PLUGIN_NAME, clusterDef.getName());
}
}
clusterDef.getCurrentReport().setNodesError(ex.getMessage(), addedNodeNames);
clusterDef.getCurrentReport().setNodesStatus(ServiceStatus.FAILED, addedNodeNames);