Skip to content

Commit ef40e15

Browse files
bvbharatkoushik-das
authored andcommitted
CLOUDSTACK-5162 Usage details are not getting populated when using dynamic offerings.
Signed-off-by: Koushik Das <koushik@apache.org>
1 parent 58fd6f0 commit ef40e15

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

engine/schema/src/com/cloud/service/ServiceOfferingVO.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ public enum DynamicParameters {
8383
@Transient
8484
Map<String, String> details;
8585

86+
// This flag is required to tell if the offering is dynamic once the cpu, memory and speed are set.
87+
// In some cases cpu, memory and speed are set to non-null values even if the offering is dynamic.
88+
@Transient
89+
boolean isDynamic;
90+
8691
protected ServiceOfferingVO() {
8792
super();
8893
}
@@ -297,7 +302,10 @@ public void setDetails(Map<String, String> details) {
297302

298303
@Override
299304
public boolean isDynamic() {
300-
return cpu == null || speed == null || ramSize == null;
305+
return cpu == null || speed == null || ramSize == null || isDynamic;
301306
}
302307

308+
public void setDynamicFlag(boolean isdynamic) {
309+
this.isDynamic = isdynamic;
310+
}
303311
}

server/src/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2593,6 +2593,7 @@ protected UserVm createVirtualMachine(DataCenter zone, ServiceOffering serviceOf
25932593
details.add(new UserVmDetailVO(id, ServiceOfferingVO.DynamicParameters.cpuSpeed.toString(), cpuSpeed.toString()));
25942594
details.add(new UserVmDetailVO(id, ServiceOfferingVO.DynamicParameters.memory.toString(), memory.toString()));
25952595
offering = _serviceOfferingDao.getcomputeOffering(serviceOffering.getId(), cpuNumber, cpuSpeed, memory);
2596+
offering.setDynamicFlag(true);
25962597
}
25972598
if (hostName != null) {
25982599
// Check is hostName is RFC compliant

0 commit comments

Comments
 (0)