diff --git a/api/src/com/cloud/offering/DiskOffering.java b/api/src/com/cloud/offering/DiskOffering.java index 928f7132d8e..c2069c25359 100644 --- a/api/src/com/cloud/offering/DiskOffering.java +++ b/api/src/com/cloud/offering/DiskOffering.java @@ -34,6 +34,10 @@ public interface DiskOffering extends InfrastructureEntity, Identity, InternalId Inactive, Active, } + public enum Type { + Disk, Service + }; + State getState(); public enum DiskCacheMode { @@ -114,4 +118,6 @@ public interface DiskOffering extends InfrastructureEntity, Identity, InternalId DiskCacheMode getCacheMode(); void setCacheMode(DiskCacheMode cacheMode); + + Type getType(); } diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java index 1b87ccf4490..396a49cd24f 100644 --- a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java +++ b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java @@ -712,7 +712,9 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati Long offeringId = null; - offeringId = offering.getId(); + if (offering.getType() == DiskOffering.Type.Disk) { + offeringId = offering.getId(); + } UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_CREATE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(), offeringId, vol.getTemplateId(), size, Volume.class.getName(), vol.getUuid(), vol.isDisplayVolume()); diff --git a/engine/schema/src/com/cloud/storage/DiskOfferingVO.java b/engine/schema/src/com/cloud/storage/DiskOfferingVO.java index 74f65ab94e5..5de7f987e12 100644 --- a/engine/schema/src/com/cloud/storage/DiskOfferingVO.java +++ b/engine/schema/src/com/cloud/storage/DiskOfferingVO.java @@ -44,9 +44,6 @@ import com.cloud.utils.db.GenericDao; @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING, length = 32) public class DiskOfferingVO implements DiskOffering { - public enum Type { - Disk, Service - }; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/engine/schema/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java index 818a5b5e061..ba8406276f6 100644 --- a/engine/schema/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java +++ b/engine/schema/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java @@ -25,7 +25,7 @@ import javax.persistence.EntityExistsException; import org.springframework.stereotype.Component; import com.cloud.storage.DiskOfferingVO; -import com.cloud.storage.DiskOfferingVO.Type; +import com.cloud.offering.DiskOffering.Type; import com.cloud.utils.db.Attribute; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; diff --git a/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java b/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java index 58eeef9a531..e846b0b646f 100644 --- a/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java +++ b/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java @@ -27,7 +27,7 @@ import com.cloud.storage.Storage; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; -import com.cloud.storage.DiskOfferingVO.Type; +import com.cloud.offering.DiskOffering.Type; import com.cloud.utils.db.GenericDao; @Entity