From c88213b5bcb041ba400ee5119d481b6174d0b6fa Mon Sep 17 00:00:00 2001 From: frank Date: Mon, 4 Jun 2012 11:48:23 -0700 Subject: [PATCH] CloudStack CS-15195 Multinode Management server - Not able to put the host in maintanace mode when the request is issed from the management server that is not the owner of the host resolved fixed reviewed-by: edison --- .project | 24 ------------------- .../com/cloud/cluster/ClusterManagerImpl.java | 17 +++++++++++++ 2 files changed, 17 insertions(+), 24 deletions(-) delete mode 100644 .project diff --git a/.project b/.project deleted file mode 100644 index 183860bd142..00000000000 --- a/.project +++ /dev/null @@ -1,24 +0,0 @@ - - - mgit - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - - - src - 2 - /Users/john1/mgit/cloudbridge/src - - - diff --git a/server/src/com/cloud/cluster/ClusterManagerImpl.java b/server/src/com/cloud/cluster/ClusterManagerImpl.java index 56e9bccf9f4..4c7d4f28c1e 100755 --- a/server/src/com/cloud/cluster/ClusterManagerImpl.java +++ b/server/src/com/cloud/cluster/ClusterManagerImpl.java @@ -399,6 +399,23 @@ public class ClusterManagerImpl implements ClusterManager { s_logger.warn("Operation timed out", e); return null; } + Answer[] answers = new Answer[1]; + answers[0] = new Answer(cmd, result, null); + return _gson.toJson(answers); + } else if (cmds.length == 1 && cmds[0] instanceof PropagateResourceEventCommand) { + PropagateResourceEventCommand cmd = (PropagateResourceEventCommand) cmds[0]; + if (s_logger.isDebugEnabled()) { + s_logger.debug("Intercepting resource manager command: " + _gson.toJson(cmd)); + } + + boolean result = false; + try { + result = _resourceMgr.executeUserRequest(cmd.getHostId(), cmd.getEvent()); + } catch (Exception e) { + s_logger.warn("Exception happened while exceuting command from resource manager in other mgmt server", e); + return null; + } + Answer[] answers = new Answer[1]; answers[0] = new Answer(cmd, result, null); return _gson.toJson(answers);