Search in sources :

Example 1 with GetDiskImageByDiskAndImageIdsParameters

use of org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters in project ovirt-engine by oVirt.

the class BackendVmResource method previewSnapshot.

@Override
public Response previewSnapshot(Action action) {
    validateParameters(action, "snapshot.id");
    TryBackToAllSnapshotsOfVmParameters tryBackParams = new TryBackToAllSnapshotsOfVmParameters(guid, asGuid(action.getSnapshot().getId()));
    if (action.isSetRestoreMemory()) {
        tryBackParams.setRestoreMemory(action.isRestoreMemory());
    }
    if (action.isSetDisks()) {
        // Each disk parameter is being mapped to a DiskImage.
        List<DiskImage> disks = getParent().mapDisks(action.getDisks());
        List<DiskImage> disksFromDB = null;
        if (disks != null) {
            // In case a disk hasn't specified its image_id, the imageId value is set to Guid.Empty().
            disksFromDB = disks.stream().map(disk -> getEntity(org.ovirt.engine.core.common.businessentities.storage.DiskImage.class, QueryType.GetDiskImageByDiskAndImageIds, new GetDiskImageByDiskAndImageIdsParameters(disk.getId(), disk.getImageId()), String.format("GetDiskImageByDiskAndImageIds: disk id=%s, image_id=%s", disk.getId(), disk.getImageId()))).collect(Collectors.toList());
        }
        tryBackParams.setDisks(disksFromDB);
    }
    if (action.isSetLease()) {
        tryBackParams.setRestoreLease(action.getLease().isSetStorageDomain());
        if (action.getLease().isSetStorageDomain()) {
            tryBackParams.setDstLeaseDomainId(asGuid(action.getLease().getStorageDomain().getId()));
        }
    }
    Response response = doAction(ActionType.TryBackToAllSnapshotsOfVm, tryBackParams, action);
    return response;
}
Also used : Response(javax.ws.rs.core.Response) TryBackToAllSnapshotsOfVmParameters(org.ovirt.engine.core.common.action.TryBackToAllSnapshotsOfVmParameters) GetDiskImageByDiskAndImageIdsParameters(org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 2 with GetDiskImageByDiskAndImageIdsParameters

use of org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters in project ovirt-engine by oVirt.

the class GetDiskImageByDiskAndImageIdsQueryTest method testExecuteQueryCommand.

@Test
public void testExecuteQueryCommand() {
    GetDiskImageByDiskAndImageIdsParameters params = getQueryParameters();
    when(params.getDiskId()).thenReturn(diskId);
    when(params.getImageId()).thenReturn(imageId);
    when(diskImageDao.getDiskImageByDiskAndImageIds(diskId, imageId, getUser().getId(), getQueryParameters().isFiltered())).thenReturn(diskImage);
    GetDiskImageByDiskAndImageIdsQuery<GetDiskImageByDiskAndImageIdsParameters> query = getQuery();
    query.executeQueryCommand();
    DiskImage returnDiskImage = query.getQueryReturnValue().getReturnValue();
    assertEquals(returnDiskImage, diskImage);
}
Also used : GetDiskImageByDiskAndImageIdsParameters(org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) AbstractUserQueryTest(org.ovirt.engine.core.bll.AbstractUserQueryTest) Test(org.junit.Test)

Example 3 with GetDiskImageByDiskAndImageIdsParameters

use of org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters in project ovirt-engine by oVirt.

the class BackendSnapshotResource method restore.

@Override
public Response restore(Action action) {
    action.setAsync(false);
    TryBackToAllSnapshotsOfVmParameters tryBackParams = new TryBackToAllSnapshotsOfVmParameters(parentId, guid);
    if (action.isSetRestoreMemory()) {
        tryBackParams.setRestoreMemory(action.isRestoreMemory());
    }
    if (action.isSetDisks()) {
        // Each disk parameter is being mapped to a DiskImage.
        List<DiskImage> disks = collection.mapDisks(action.getDisks());
        List<DiskImage> disksFromDB = null;
        if (disks != null) {
            // In case a disk hasn't specified its image_id, the imageId value is set to Guid.Empty().
            disksFromDB = disks.stream().map(disk -> getEntity(org.ovirt.engine.core.common.businessentities.storage.DiskImage.class, QueryType.GetDiskImageByDiskAndImageIds, new GetDiskImageByDiskAndImageIdsParameters(disk.getId(), disk.getImageId()), String.format("GetDiskImageByDiskAndImageIds: disk id=%s, image_id=%s", disk.getId(), disk.getImageId()))).collect(Collectors.toList());
        }
        tryBackParams.setDisks(disksFromDB);
    }
    // TODO: if user supplied, override with user value
    tryBackParams.setCorrelationId(RESTORE_SNAPSHOT_CORRELATION_ID);
    Response response = doAction(ActionType.TryBackToAllSnapshotsOfVm, tryBackParams, action, PollingType.JOB);
    if (response.getStatus() == Response.Status.OK.getStatusCode()) {
        RestoreAllSnapshotsParameters restoreParams = new RestoreAllSnapshotsParameters(parentId, SnapshotActionEnum.COMMIT);
        restoreParams.setCorrelationId(RESTORE_SNAPSHOT_CORRELATION_ID);
        Response response2 = doAction(ActionType.RestoreAllSnapshots, restoreParams, action);
        if (response2.getStatus() != Response.Status.OK.getStatusCode()) {
            return response2;
        }
    }
    return response;
}
Also used : Response(javax.ws.rs.core.Response) RestoreAllSnapshotsParameters(org.ovirt.engine.core.common.action.RestoreAllSnapshotsParameters) TryBackToAllSnapshotsOfVmParameters(org.ovirt.engine.core.common.action.TryBackToAllSnapshotsOfVmParameters) GetDiskImageByDiskAndImageIdsParameters(org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Aggregations

DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)3 GetDiskImageByDiskAndImageIdsParameters (org.ovirt.engine.core.common.queries.GetDiskImageByDiskAndImageIdsParameters)3 Response (javax.ws.rs.core.Response)2 TryBackToAllSnapshotsOfVmParameters (org.ovirt.engine.core.common.action.TryBackToAllSnapshotsOfVmParameters)2 Test (org.junit.Test)1 AbstractUserQueryTest (org.ovirt.engine.core.bll.AbstractUserQueryTest)1 RestoreAllSnapshotsParameters (org.ovirt.engine.core.common.action.RestoreAllSnapshotsParameters)1