bug CS-16232: For volumes created from snapshot, create usage event after successful volume

status CS-16232: resolved fixed
reviewed-by: Nitin
This commit is contained in:
Kishan Kavala 2012-08-31 17:46:43 +05:30
parent 115e8fd2cb
commit b8429dcb17
1 changed files with 11 additions and 3 deletions

View File

@ -595,7 +595,13 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
SnapshotVO snapshot = _snapshotDao.findById(snapshotId); // Precondition: snapshot is not null and not removed.
Pair<VolumeVO, String> volumeDetails = createVolumeFromSnapshot(volume, snapshot);
createdVolume = volumeDetails.first();
createdVolume = volumeDetails.first();
if (createdVolume != null) {
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VOLUME_CREATE, createdVolume.getAccountId(), createdVolume.getDataCenterId(), createdVolume.getId(), createdVolume.getName(),
createdVolume.getDiskOfferingId(), null, createdVolume.getSize());
_usageEventDao.persist(usageEvent);
}
return createdVolume;
}
@ -1792,8 +1798,10 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
volume.setState(Volume.State.Creating);
}
volume = _volsDao.persist(volume);
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VOLUME_CREATE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), diskOfferingId, null, size);
_usageEventDao.persist(usageEvent);
if(cmd.getSnapshotId() == null){
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VOLUME_CREATE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), diskOfferingId, null, size);
_usageEventDao.persist(usageEvent);
}
txn.commit();
UserContext.current().setEventDetails("Volume Id: " + volume.getId());