use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class SparsifyDiskModel method onSparsify.
public void onSparsify(final ICommandTarget target) {
List<ActionParametersBase> parameterList = new ArrayList<>();
for (Disk disk : disksToSparsify) {
ActionParametersBase parameters = new StorageJobCommandParameters(((DiskImage) disk).getImageId());
parameterList.add(parameters);
}
startProgress();
Frontend.getInstance().runMultipleAction(ActionType.SparsifyImage, parameterList, result -> {
stopProgress();
target.executeCommand(cancelCommand);
}, this);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class InstanceImagesModel method approveRemoveDisk.
public void approveRemoveDisk(InstanceImageLineModel lineModel, RemoveApprovedCallback callback) {
if (!lineModel.isDiskExists() || lineModel.getVm() == null) {
// no problem, the item can be removed without explicitly asking the user
callback.removeApproved(true);
return;
}
this.callback = callback;
removeDiskModel = new RemoveDiskModel();
List<Disk> disksToRemove = Arrays.asList(lineModel.getDiskModel().getEntity().getDisk());
VM vm = lineModel.getVm();
if (getParentListModel() instanceof HasDiskWindow) {
((HasDiskWindow) getParentListModel()).setDiskWindow(removeDiskModel);
}
removeDiskModel.initialize(vm, disksToRemove, this);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class InstanceImagesModel method orderedDisksIterator.
/**
* Finds the disk which is boot on the VM but has been configured to be non boot. If finds such a disk, the resulting
* list will contain as a first command the one which executes this operation.
*
* It is needed because they can be other which make an another disk boot and the VM can not have more than one boot
* disk - so the validation on server would fail.
*/
private Iterator<InstanceImageLineModel> orderedDisksIterator(List<Disk> disks, VM vm) {
if (disks.size() == 0) {
return getItems().iterator();
}
Disk previouslyBootDisk = findBoot(disks, vm);
if (previouslyBootDisk == null) {
return getItems().iterator();
}
InstanceImageLineModel fromBootToNonBoot = findBecomeNonBoot(previouslyBootDisk);
if (fromBootToNonBoot == null) {
return getItems().iterator();
}
// now we know that the disk changed from boot to non boot so this command has to be executed as first
Set<InstanceImageLineModel> res = new LinkedHashSet<>();
res.add(fromBootToNonBoot);
res.addAll(getItems());
return res.iterator();
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class MoveDiskModel method initStorageDomains.
@Override
protected void initStorageDomains() {
Disk disk = getDisks().get(0).getDisk();
if (disk.getDiskStorageType() != DiskStorageType.IMAGE) {
return;
}
AsyncDataProvider.getInstance().getStorageDomainList(new AsyncQuery<>(storageDomains -> onInitStorageDomains(storageDomains)), ((DiskImage) disk).getStoragePoolId());
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class RemoveDiskModel method initialize.
public void initialize(VM vm, List<Disk> disksToRemove, ICommandTarget target) {
// the VM can be null if the disks do not belong to a specific VM
this.vm = vm;
this.disksToRemove = disksToRemove;
setTitle(ConstantsManager.getInstance().getConstants().removeDisksTitle());
setHelpTag(HelpTag.remove_disk);
// $NON-NLS-1$
setHashName("remove_disk");
getLatch().setEntity(false);
List<DiskModel> items = new ArrayList<>();
for (Disk disk : disksToRemove) {
DiskModel diskModel = new DiskModel();
diskModel.setDisk(disk);
diskModel.setVm(vm);
items.add(diskModel);
// A shared disk or a disk snapshot can only be detached
if (disk.getNumberOfVms() > 1) {
getLatch().setIsChangeable(false);
}
}
setItems(items);
UICommand tempVar = UICommand.createDefaultOkUiCommand(ON_REMOVE, target);
getCommands().add(tempVar);
cancelCommand = UICommand.createCancelUiCommand(CANCEL_REMOVE, target);
getCommands().add(cancelCommand);
}
Aggregations