CLOUDSTACK-1192: GetVmDiskStatsCommand return null as disk I/O statistics does not support xen/vmware (cherry picked from commit 3121133c03c4db30c9bc0a3a5546e19678b2ee76)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/87d73e22 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/87d73e22 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/87d73e22 Branch: refs/heads/disk-cache Commit: 87d73e227fc8ee16e86682931ef91eaae70aa33e Parents: b220403 Author: Wei Zhou <w.z...@leaseweb.com> Authored: Thu Aug 29 23:14:42 2013 +0200 Committer: Wei Zhou <w.z...@leaseweb.com> Committed: Mon Sep 2 16:04:59 2013 +0200 ---------------------------------------------------------------------- .../com/cloud/hypervisor/vmware/resource/VmwareResource.java | 8 ++++++++ .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 8 ++++++++ 2 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/87d73e22/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index 8853b88..4589f31 100755 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -154,6 +154,8 @@ import com.cloud.agent.api.GetHostStatsAnswer; import com.cloud.agent.api.GetHostStatsCommand; import com.cloud.agent.api.GetStorageStatsAnswer; import com.cloud.agent.api.GetStorageStatsCommand; +import com.cloud.agent.api.GetVmDiskStatsAnswer; +import com.cloud.agent.api.GetVmDiskStatsCommand; import com.cloud.agent.api.GetVmStatsAnswer; import com.cloud.agent.api.GetVmStatsCommand; import com.cloud.agent.api.GetVncPortAnswer; @@ -444,6 +446,8 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa answer = execute((GetHostStatsCommand) cmd); } else if (clz == GetVmStatsCommand.class) { answer = execute((GetVmStatsCommand) cmd); + } else if (clz == GetVmDiskStatsCommand.class) { + answer = execute((GetDiskVmStatsCommand) cmd); } else if (clz == CheckHealthCommand.class) { answer = execute((CheckHealthCommand) cmd); } else if (clz == StopCommand.class) { @@ -3523,6 +3527,10 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa return answer; } + protected Answer execute(GetVmDiskStatsCommand cmd) { + return new GetVmDiskStatsAnswer(cmd, null, null, null); + } + protected Answer execute(CheckHealthCommand cmd) { if (s_logger.isInfoEnabled()) { s_logger.info("Executing resource CheckHealthCommand: " + _gson.toJson(cmd)); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/87d73e22/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 35f30e4..e2d1763 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -56,6 +56,8 @@ import com.cloud.agent.api.GetHostStatsAnswer; import com.cloud.agent.api.GetHostStatsCommand; import com.cloud.agent.api.GetStorageStatsAnswer; import com.cloud.agent.api.GetStorageStatsCommand; +import com.cloud.agent.api.GetVmDiskStatsAnswer; +import com.cloud.agent.api.GetVmDiskStatsCommand; import com.cloud.agent.api.GetVmStatsAnswer; import com.cloud.agent.api.GetVmStatsCommand; import com.cloud.agent.api.GetVncPortAnswer; @@ -489,6 +491,8 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe return execute((GetHostStatsCommand) cmd); } else if (clazz == GetVmStatsCommand.class) { return execute((GetVmStatsCommand) cmd); + } else if (clazz == GetVmDiskStatsCommand.class) { + return execute((GetVmDiskStatsCommand) cmd); } else if (clazz == CheckHealthCommand.class) { return execute((CheckHealthCommand) cmd); } else if (clazz == StopCommand.class) { @@ -2745,6 +2749,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe return vmResponseMap; } + protected GetVmDiskStatsAnswer execute(GetVmDiskStatsCommand cmd) { + return new GetVmDiskStatsAnswer(cmd, null, null, null); + } + protected Object[] getRRDData(Connection conn, int flag) { /*