Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ protected void injectPresetVariablesIntoJsInterpreter(JsInterpreter jsInterprete

}

jsInterpreter.injectVariable("resourceType", presetVariables.getResourceType());
jsInterpreter.injectStringVariable("resourceType", presetVariables.getResourceType());
jsInterpreter.injectVariable("value", presetVariables.getValue().toString());
jsInterpreter.injectVariable("zone", presetVariables.getZone().toString());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

import javax.inject.Inject;

import com.cloud.hypervisor.Hypervisor;
import org.apache.cloudstack.acl.RoleVO;
import org.apache.cloudstack.acl.dao.RoleDao;
import org.apache.cloudstack.backup.BackupOfferingVO;
Expand Down Expand Up @@ -65,6 +66,7 @@
import com.cloud.storage.GuestOSVO;
import com.cloud.storage.Snapshot;
import com.cloud.storage.SnapshotVO;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.VolumeVO;
import com.cloud.storage.dao.DiskOfferingDao;
Expand Down Expand Up @@ -318,6 +320,10 @@ protected void loadPresetVariableValueForRunningAndAllocatedVm(UsageVO usageReco

value.setTags(getPresetVariableValueResourceTags(vmId, ResourceObjectType.UserVm));
value.setTemplate(getPresetVariableValueTemplate(vmVo.getTemplateId()));
Hypervisor.HypervisorType hypervisorType = vmVo.getHypervisorType();
if (hypervisorType != null) {
value.setHypervisorType(hypervisorType.name());
}
}

protected void logNotLoadingMessageInTrace(String resource, int usageType) {
Expand Down Expand Up @@ -470,6 +476,11 @@ protected void loadPresetVariableValueForVolume(UsageVO usageRecord, Value value

value.setTags(getPresetVariableValueResourceTags(volumeId, ResourceObjectType.Volume));
value.setSize(ByteScaleUtils.bytesToMebibytes(volumeVo.getSize()));

ImageFormat format = volumeVo.getFormat();
if (format != null) {
value.setVolumeFormat(format.name());
}
}

protected GenericPresetVariable getPresetVariableValueDiskOffering(Long diskOfferingId) {
Expand Down Expand Up @@ -558,6 +569,10 @@ protected void loadPresetVariableValueForSnapshot(UsageVO usageRecord, Value val
value.setSnapshotType(Snapshot.Type.values()[snapshotVo.getSnapshotType()]);
value.setStorage(getPresetVariableValueStorage(getSnapshotDataStoreId(snapshotId, usageRecord.getZoneId()), usageType));
value.setTags(getPresetVariableValueResourceTags(snapshotId, ResourceObjectType.Snapshot));
Hypervisor.HypervisorType hypervisorType = snapshotVo.getHypervisorType();
if (hypervisorType != null) {
value.setHypervisorType(hypervisorType.name());
}
}

protected SnapshotDataStoreVO getSnapshotImageStoreRef(long snapshotId, long zoneId) {
Expand Down Expand Up @@ -621,6 +636,11 @@ protected void loadPresetVariableValueForVmSnapshot(UsageVO usageRecord, Value v
value.setName(vmSnapshotVo.getName());
value.setTags(getPresetVariableValueResourceTags(vmSnapshotId, ResourceObjectType.VMSnapshot));
value.setVmSnapshotType(vmSnapshotVo.getType());

VMInstanceVO vmVo = vmInstanceDao.findByIdIncludingRemoved(vmSnapshotVo.getVmId());
if (vmVo != null && vmVo.getHypervisorType() != null) {
value.setHypervisorType(vmVo.getHypervisorType().name());
}
}

protected void loadPresetVariableValueForBackup(UsageVO usageRecord, Value value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ public class Value extends GenericPresetVariable {
private Storage storage;
private ComputingResources computingResources;
private BackupOffering backupOffering;
private String hypervisorType;
private String volumeFormat;

public Host getHost() {
return host;
Expand Down Expand Up @@ -185,4 +187,22 @@ public void setBackupOffering(BackupOffering backupOffering) {
this.backupOffering = backupOffering;
fieldNamesToIncludeInToString.add("backupOffering");
}

public void setHypervisorType(String hypervisorType) {
this.hypervisorType = hypervisorType;
fieldNamesToIncludeInToString.add("hypervisorType");
}

public String getHypervisorType() {
return hypervisorType;
}

public void setVolumeFormat(String volumeFormat) {
this.volumeFormat = volumeFormat;
fieldNamesToIncludeInToString.add("volumeFormat");
}

public String getVolumeFormat() {
return volumeFormat;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ public void injectPresetVariablesIntoJsInterpreterTestProjectIsNullDoNotInjectPr
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("account"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("domain"), Mockito.anyString());
Mockito.verify(jsInterpreterMock, Mockito.never()).injectVariable(Mockito.eq("project"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("resourceType"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectStringVariable(Mockito.eq("resourceType"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("value"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("zone"), Mockito.anyString());
}
Expand All @@ -288,7 +288,7 @@ public void injectPresetVariablesIntoJsInterpreterTestProjectIsNotNullInjectProj
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("account"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("domain"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("project"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("resourceType"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectStringVariable(Mockito.eq("resourceType"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("value"), Mockito.anyString());
Mockito.verify(jsInterpreterMock).injectVariable(Mockito.eq("zone"), Mockito.anyString());
}
Expand Down
Loading