Updated Branches: refs/heads/4.3 30238f0c7 -> 6af8021ef
CLOUDSTACK-5162 Usage details are not getting populated when using dynamic offerings. Signed-off-by: Koushik Das <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6af8021e Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6af8021e Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6af8021e Branch: refs/heads/4.3 Commit: 6af8021ef7188b8f2d92bc891b5108f0e3503284 Parents: 30238f0 Author: Bharat Kumar <[email protected]> Authored: Tue Nov 26 14:09:55 2013 +0530 Committer: Koushik Das <[email protected]> Committed: Tue Nov 26 17:45:13 2013 +0530 ---------------------------------------------------------------------- .../schema/src/com/cloud/service/ServiceOfferingVO.java | 11 +++++++++-- server/src/com/cloud/vm/UserVmManagerImpl.java | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af8021e/engine/schema/src/com/cloud/service/ServiceOfferingVO.java ---------------------------------------------------------------------- diff --git a/engine/schema/src/com/cloud/service/ServiceOfferingVO.java b/engine/schema/src/com/cloud/service/ServiceOfferingVO.java index 1e89add..66ab836 100755 --- a/engine/schema/src/com/cloud/service/ServiceOfferingVO.java +++ b/engine/schema/src/com/cloud/service/ServiceOfferingVO.java @@ -78,6 +78,11 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering @Transient Map<String, String> details; + // This flag is required to tell if the offering is dynamic once the cpu, memory and speed are set. + // In some cases cpu, memory and speed are set to non-null values even if the offering is dynamic. + @Transient + boolean isDynamic; + protected ServiceOfferingVO() { super(); } @@ -257,8 +262,10 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering } public boolean isDynamic() { - return cpu == null || speed == null || ramSize == null; + return cpu == null || speed == null || ramSize == null || isDynamic; } - + public void setDynamicFlag(boolean isdynamic) { + this.isDynamic = isdynamic; + } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af8021e/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index ca10b06..09afe32 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2761,6 +2761,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir details.add(new UserVmDetailVO(id, ServiceOfferingVO.DynamicParameters.cpuSpeed.toString(), cpuSpeed.toString())); details.add(new UserVmDetailVO(id, ServiceOfferingVO.DynamicParameters.memory.toString(), memory.toString())); offering = _serviceOfferingDao.getcomputeOffering(serviceOffering.getId(), cpuNumber, cpuSpeed, memory); + offering.setDynamicFlag(true); } if (hostName != null) { // Check is hostName is RFC compliant
