Updated Branches:
  refs/heads/master 3663af143 -> e59726ad9

[CLOUDSTACK-359] Hook up the other side of the event propagation

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

Branch: refs/heads/master
Commit: e59726ad95db4d6a145cec606ea42ce4ca910de8
Parents: 3663af1
Author: Hugo Trippaers <[email protected]>
Authored: Thu Oct 25 17:59:34 2012 +0200
Committer: Hugo Trippaers <[email protected]>
Committed: Fri Oct 26 14:25:14 2012 +0200

----------------------------------------------------------------------
 .../src/com/cloud/cluster/ClusterManagerImpl.java  |   17 +++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e59726ad/server/src/com/cloud/cluster/ClusterManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/cluster/ClusterManagerImpl.java 
b/server/src/com/cloud/cluster/ClusterManagerImpl.java
index 67af5ba..e341b88 100755
--- a/server/src/com/cloud/cluster/ClusterManagerImpl.java
+++ b/server/src/com/cloud/cluster/ClusterManagerImpl.java
@@ -407,6 +407,23 @@ public class ClusterManagerImpl implements ClusterManager {
             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];
+               
+               s_logger.debug("Intercepting command to propagate event " + 
cmd.getEvent().name() + " for host " + cmd.getHostId());
+               
+               boolean result = false;
+               try {
+                       result = executeResourceUserRequest(cmd.getHostId(), 
cmd.getEvent());
+                       s_logger.debug("Result is " + result);
+               } catch (AgentUnavailableException ex) {
+                       s_logger.warn("Agent is unavailable", ex);
+                       return null;
+               }
+               
+               Answer[] answers = new Answer[1];
+               answers[0] = new Answer(cmd, result, null);
+               return _gson.toJson(answers);
         }
 
         try {

Reply via email to