You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2014/03/01 00:37:30 UTC
[10/33] git commit: updated refs/heads/master to 90262a8
Temporarily disable event-based VM state management at XS resource level. Wait to enable it when other changes in XS is ready
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bfb7835a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bfb7835a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bfb7835a
Branch: refs/heads/master
Commit: bfb7835a212f7f0afaf84cf826ba38feb87c81a3
Parents: e6e12e3
Author: Kelven Yang <ke...@gmail.com>
Authored: Fri Feb 7 15:50:46 2014 -0800
Committer: Kelven Yang <ke...@gmail.com>
Committed: Fri Feb 28 15:35:58 2014 -0800
----------------------------------------------------------------------
.../xenserver/XenServerResourceNewBase.java | 27 +++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bfb7835a/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 1c97486..438a392 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
@@ -45,6 +45,26 @@ import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineName;
+/**
+ *
+ * XenServerResourceNewBase is an abstract base class that encapsulates how
+ * CloudStack should interact with XenServer after a special XenServer
+ * 6.2 hotfix. From here on, every Resource for future versions of
+ * XenServer should use this as the base class. This base class lessens
+ * the amount of load CloudStack places on Xapi because it doesn't use
+ * polling as a means to collect data and figure out task completion.
+ *
+ * This base class differs from CitrixResourceBase in the following ways:
+ * - VM states are detected using Event.from instead of polling. This
+ * increases the number of threads CloudStack uses but the threads
+ * are mostly idle just waiting for events from XenServer.
+ * - stats are collected through the http interface rather than Xapi plugin.
+ * This change may be promoted to CitrixResourceBase as it's also possible
+ * in previous versions of XenServer.
+ * - Asynchronous task completion is done throught Event.from rather than
+ * polling.
+ *
+ */
public class XenServerResourceNewBase extends XenServer610Resource {
private static final Logger s_logger = Logger.getLogger(XenServerResourceNewBase.class);
protected VmEventListener _listener = null;
@@ -62,7 +82,12 @@ public class XenServerResourceNewBase extends XenServer610Resource {
Host.Record masterRecord = poolr.master.getRecord(conn);
if (_host.uuid.equals(masterRecord.uuid)) {
_listener = new VmEventListener(true);
- _listener.start();
+
+ //
+ // TODO disable event listener for now. Wait until everything else is ready
+ //
+
+ // _listener.start();
} else {
_listener = new VmEventListener(false);
}