enable event on XS 6.2 + FOX

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

Branch: refs/heads/4.4-forward
Commit: 3f74cb2feb01ccfb1bba28a1dd230ad7b8c68f3b
Parents: dbc0a26
Author: Anthony Xu <[email protected]>
Authored: Mon Apr 21 14:26:40 2014 -0700
Committer: Anthony Xu <[email protected]>
Committed: Mon Apr 21 14:26:40 2014 -0700

----------------------------------------------------------------------
 .../xen/resource/XenServer620Resource.java      | 63 +-------------------
 .../xenserver/XenServerResourceNewBase.java     | 62 ++++++++++++++++++-
 2 files changed, 62 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3f74cb2f/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer620Resource.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer620Resource.java
 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer620Resource.java
index 4c9907b..c10dc1e 100644
--- 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer620Resource.java
+++ 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServer620Resource.java
@@ -19,15 +19,7 @@ import com.xensource.xenapi.Connection;
 import com.xensource.xenapi.Host;
 import com.xensource.xenapi.HostPatch;
 import com.xensource.xenapi.PoolPatch;
-/*
-import java.util.HashSet;
-import com.xensource.xenapi.Event;
-import com.xensource.xenapi.Task;
-import com.xensource.xenapi.Types;
-import com.xensource.xenapi.Types.XenAPIException;
-import org.apache.xmlrpc.XmlRpcException;
-import java.util.concurrent.TimeoutException;
-*/
+
 import org.apache.cloudstack.hypervisor.xenserver.XenserverConfigs;
 import java.util.Map;
 import java.util.Set;
@@ -112,58 +104,5 @@ public class XenServer620Resource extends 
XenServer610Resource {
         cmd.setHostDetails(details);
     }
 
-/*
-    protected void waitForTask(Connection c, Task task, long pollInterval, 
long timeout) throws XenAPIException, XmlRpcException, TimeoutException {
-        long beginTime = System.currentTimeMillis();
-        if (s_logger.isTraceEnabled()) {
-            s_logger.trace("Task " + task.getNameLabel(c) + " (" + 
task.getType(c) + ") sent to " + c.getSessionReference() + " is pending 
completion with a " + timeout +
-                           "ms timeout");
-        }
-        Set<String> classes = new HashSet<String>();
-        classes.add("Task/" + task.toWireString());
-        String token = "";
-        Double t = new Double(timeout / 1000);
-        while (true) {
-            Map<?, ?> map = Event.properFrom(c, classes, token, t);
-            token = (String)map.get("token");
-            @SuppressWarnings("unchecked")
-            Set<Event.Record> events = (Set<Event.Record>)map.get("events");
-            if (events.size() == 0) {
-                String msg = "No event for task " + task.toString();
-                s_logger.warn(msg);
-                task.cancel(c);
-                throw new TimeoutException(msg);
-            }
-            for (Event.Record rec : events) {
-                if (!(rec.snapshot instanceof Task.Record)) {
-                    if (s_logger.isDebugEnabled()) {
-                        s_logger.debug("Skipping over " + rec);
-                    }
-                    continue;
-                }
-
-                Task.Record taskRecord = (Task.Record)rec.snapshot;
-
-                if (taskRecord.status != Types.TaskStatusType.PENDING) {
-                    if (s_logger.isDebugEnabled()) {
-                        s_logger.debug("Task: " + taskRecord.uuid + " is done 
" + taskRecord.status);
-                    }
-                    return;
-                } else {
-                    if (s_logger.isDebugEnabled()) {
-                        s_logger.debug("Task: " + taskRecord.uuid +  " 
progress: " + taskRecord.progress);
-                    }
-
-                }
-            }
-            if (System.currentTimeMillis() - beginTime > timeout) {
-                String msg = "Async " + timeout / 1000 + " seconds timeout for 
task " + task.toString();
-                s_logger.warn(msg);
-                task.cancel(c);
-                throw new TimeoutException(msg);
-            }
-        }
-    }
-*/
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3f74cb2f/plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java
 
b/plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java
index b0bbcb9..d11db0d 100644
--- 
a/plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java
+++ 
b/plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java
@@ -23,14 +23,19 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.log4j.Logger;
-import org.apache.xmlrpc.XmlRpcException;
 
 import com.xensource.xenapi.Connection;
 import com.xensource.xenapi.Host;
 import com.xensource.xenapi.Pool;
 import com.xensource.xenapi.Types.XenAPIException;
 import com.xensource.xenapi.VM;
+
 import com.xensource.xenapi.Event;
+import com.xensource.xenapi.Task;
+import com.xensource.xenapi.Types;
+import org.apache.xmlrpc.XmlRpcException;
+import java.util.concurrent.TimeoutException;
+
 
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.ClusterSyncAnswer;
@@ -97,6 +102,60 @@ public class XenServerResourceNewBase extends 
XenServer620SP1Resource {
     }
 
 
+    protected void waitForTask(Connection c, Task task, long pollInterval, 
long timeout) throws XenAPIException, XmlRpcException, TimeoutException {
+        long beginTime = System.currentTimeMillis();
+        if (s_logger.isTraceEnabled()) {
+            s_logger.trace("Task " + task.getNameLabel(c) + " (" + 
task.getType(c) + ") sent to " + c.getSessionReference() + " is pending 
completion with a " + timeout +
+                           "ms timeout");
+        }
+        Set<String> classes = new HashSet<String>();
+        classes.add("Task/" + task.toWireString());
+        String token = "";
+        Double t = new Double(timeout / 1000);
+        while (true) {
+            Map<?, ?> map = Event.properFrom(c, classes, token, t);
+            token = (String)map.get("token");
+            @SuppressWarnings("unchecked")
+            Set<Event.Record> events = (Set<Event.Record>)map.get("events");
+            if (events.size() == 0) {
+                String msg = "No event for task " + task.toWireString();
+                s_logger.warn(msg);
+                task.cancel(c);
+                throw new TimeoutException(msg);
+            }
+            for (Event.Record rec : events) {
+                if (!(rec.snapshot instanceof Task.Record)) {
+                    if (s_logger.isDebugEnabled()) {
+                        s_logger.debug("Skipping over " + rec);
+                    }
+                    continue;
+                }
+
+                Task.Record taskRecord = (Task.Record)rec.snapshot;
+
+                if (taskRecord.status != Types.TaskStatusType.PENDING) {
+                    if (s_logger.isDebugEnabled()) {
+                        s_logger.debug("Task, ref:" + task.toWireString() + ", 
UUID:" + taskRecord.uuid + " is done " + taskRecord.status);
+                    }
+                    return;
+                } else {
+                    if (s_logger.isDebugEnabled()) {
+                        s_logger.debug("Task: ref:" + task.toWireString() + ", 
UUID:" + taskRecord.uuid +  " progress: " + taskRecord.progress);
+                    }
+
+                }
+            }
+            if (System.currentTimeMillis() - beginTime > timeout) {
+                String msg = "Async " + timeout / 1000 + " seconds timeout for 
task " + task.toString();
+                s_logger.warn(msg);
+                task.cancel(c);
+                throw new TimeoutException(msg);
+            }
+        }
+    }
+
+
+
     @Override
     protected Answer execute(final ClusterSyncCommand cmd) {
         if (!_listener.isListening()) {
@@ -297,4 +356,5 @@ public class XenServerResourceNewBase extends 
XenServer620SP1Resource {
         }
     }
 
+
 }

Reply via email to