@Override public void success(CreateSnapshotRsp rsp) { // current fusionstor has no way to get actual size long asize = rsp.getActualSize() == null ? 0 : rsp.getActualSize(); sp.setSize(asize); sp.setPrimaryStorageUuid(self.getUuid()); sp.setPrimaryStorageInstallPath(spPath); sp.setType(VolumeSnapshotConstant.STORAGE_SNAPSHOT_TYPE.toString()); sp.setFormat(VolumeConstant.VOLUME_FORMAT_RAW); reply.setInventory(sp); bus.reply(msg, reply); }
public static APICreateVolumeSnapshotEvent __example__() { APICreateVolumeSnapshotEvent event = new APICreateVolumeSnapshotEvent(); String volumeUuid= uuid(); String snapshotUuid = uuid(); VolumeSnapshotInventory inv = new VolumeSnapshotInventory(); inv.setName("Snapshot-1"); inv.setCreateDate(new Timestamp(org.zstack.header.message.DocUtils.date)); inv.setLastOpDate(new Timestamp(org.zstack.header.message.DocUtils.date)); inv.setParentUuid(uuid()); inv.setDescription("create-snapshot-from-volume"); inv.setState(VolumeState.Enabled.toString()); inv.setType("Hypervisor"); inv.setVolumeUuid(volumeUuid); inv.setFormat("qcow2"); inv.setUuid(snapshotUuid); inv.setStatus("Ready"); inv.setPrimaryStorageUuid(uuid()); inv.setPrimaryStorageInstallPath(String.format("/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-%s/snapshots/%s.qcow2", volumeUuid, snapshotUuid)); inv.setLatest(true); inv.setSize(SizeUnit.GIGABYTE.toByte(1)); inv.setVolumeType(VolumeType.Root.toString()); inv.setTreeUuid(uuid()); event.setInventory(inv); return event; }
@Override public void run(MessageReply reply) { if (!reply.isSuccess()) { completion.fail(reply.getError()); return; } TakeSnapshotOnHypervisorReply treply = (TakeSnapshotOnHypervisorReply) reply; sp.setSize(treply.getSize()); sp.setPrimaryStorageUuid(self.getUuid()); sp.setPrimaryStorageInstallPath(treply.getSnapshotInstallPath()); sp.setType(VolumeSnapshotConstant.HYPERVISOR_SNAPSHOT_TYPE.toString()); TakeSnapshotReply ret = new TakeSnapshotReply(); ret.setNewVolumeInstallPath(treply.getNewVolumeInstallPath()); ret.setInventory(sp); completion.success(ret); } });
@Override public void run(MessageReply ret) { if (ret.isSuccess()) { TakeSnapshotOnHypervisorReply treply = (TakeSnapshotOnHypervisorReply) ret; VolumeSnapshotInventory inv = msg.getStruct().getCurrent(); inv.setSize(treply.getSize()); inv.setPrimaryStorageUuid(self.getUuid()); inv.setPrimaryStorageInstallPath(treply.getSnapshotInstallPath()); inv.setType(VolumeSnapshotConstant.HYPERVISOR_SNAPSHOT_TYPE.toString()); reply.setNewVolumeInstallPath(treply.getNewVolumeInstallPath()); reply.setInventory(inv); } else { reply.setError(ret.getError()); } bus.reply(msg, reply); } });
@Override public void run(MessageReply reply) { if (!reply.isSuccess()) { completion.fail(reply.getError()); return; } TakeSnapshotOnHypervisorReply treply = (TakeSnapshotOnHypervisorReply) reply; sp.setSize(treply.getSize()); sp.setPrimaryStorageUuid(self.getUuid()); sp.setPrimaryStorageInstallPath(treply.getSnapshotInstallPath()); sp.setType(VolumeSnapshotConstant.HYPERVISOR_SNAPSHOT_TYPE.toString()); TakeSnapshotReply ret = new TakeSnapshotReply(); ret.setNewVolumeInstallPath(treply.getNewVolumeInstallPath()); ret.setInventory(sp); reserveCapaciryOnHostIgnoreError(hostUuid, sp.getSize(), self.getUuid()); completion.success(ret); } });
public static VolumeSnapshotInventory valueOf(VolumeSnapshotVO vo) { VolumeSnapshotInventory inv = new VolumeSnapshotInventory(); inv.setName(vo.getName()); inv.setCreateDate(vo.getCreateDate()); inv.setDescription(vo.getDescription()); inv.setLastOpDate(vo.getLastOpDate()); inv.setParentUuid(vo.getParentUuid()); inv.setState(vo.getState().toString()); inv.setType(vo.getType()); inv.setVolumeUuid(vo.getVolumeUuid()); inv.setFormat(vo.getFormat()); inv.setUuid(vo.getUuid()); inv.setStatus(vo.getStatus().toString()); inv.setPrimaryStorageUuid(vo.getPrimaryStorageUuid()); inv.setPrimaryStorageInstallPath(vo.getPrimaryStorageInstallPath()); inv.setLatest(vo.isLatest()); inv.setSize(vo.getSize()); inv.setVolumeType(vo.getVolumeType()); inv.setTreeUuid(vo.getTreeUuid()); inv.setBackupStorageRefs(VolumeSnapshotBackupStorageRefInventory.valueOf(vo.getBackupStorageRefs())); return inv; }