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

Reply via email to