public AddDiskParameters(Disk diskInfo) { this(new DiskVmElement(Guid.Empty, null), diskInfo); }
public static DiskVmElement copyOf(DiskVmElement diskVmElement, Guid diskId, Guid vmId) { DiskVmElement newDve = new DiskVmElement(diskId, vmId); copyProperties(diskVmElement, newDve); return newDve; }
@Override public Response deactivate(Action action) { VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); return doAction(ActionType.HotUnPlugDiskFromVm, params, action); }
@Override public Response activate(Action action) { VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); return doAction(ActionType.HotPlugDiskToVm, params, action); }
@Override public Response remove() { get(); return performAction(ActionType.DetachDiskFromVm, new AttachDetachVmDiskParameters(new DiskVmElement(guid, vmId))); }
private ArrayList<ActionParametersBase> createPlugOrUnplugParams(boolean plug) { ArrayList<ActionParametersBase> parametersList = new ArrayList<>(); VM vm = getEntity(); for (Object item : getSelectedItems()) { Disk disk = (Disk) item; disk.setPlugged(plug); parametersList.add(new VmDiskOperationParameterBase(new DiskVmElement(disk.getId(), vm.getId()))); } return parametersList; }
@Override public Response remove() { boolean detachOnly = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, DETACH_ONLY, true, true); if (detachOnly) { return performAction(ActionType.DetachDiskFromVm, new AttachDetachVmDiskParameters(new DiskVmElement(guid, vmId))); } else { return performAction(ActionType.RemoveDisk, new RemoveDiskParameters(guid)); } }
public void onRemove(final ICommandTarget target) { boolean removeDisk = getLatch().getEntity(); ActionType actionType = removeDisk ? ActionType.RemoveDisk : ActionType.DetachDiskFromVm; List<ActionParametersBase> parameterList = disksToRemove.stream() .map(disk -> removeDisk ? new RemoveDiskParameters(disk.getId()) : new AttachDetachVmDiskParameters(new DiskVmElement(disk.getId(), vm.getId()))) .collect(Collectors.toList()); startProgress(); Frontend.getInstance().runMultipleAction(actionType, parameterList, result -> { stopProgress(); target.executeCommand(cancelCommand); }, this); }
public static DiskVmElement copyOf(DiskVmElement diskVmElement) { DiskVmElement newDve = new DiskVmElement(diskVmElement.getId().getDeviceId(), diskVmElement.getId().getVmId()); copyProperties(diskVmElement, newDve); return newDve; }
@Override public DiskAttachment update(DiskAttachment attachment) { if (attachment.isSetActive()) { DiskAttachment attachmentFromDb = get(); if (!attachmentFromDb.isActive().equals(attachment.isActive())) { ActionType actionType = attachment.isActive() ? ActionType.HotPlugDiskToVm : ActionType.HotUnPlugDiskFromVm; VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); try { doAction(actionType, params); } catch (BackendFailureException e) { return handleError(e, false); } } } return performUpdate(attachment, new AddDiskResolver(), ActionType.UpdateVmDisk, new UpdateParametersProvider()); }
@Override public void initialize(List<DiskModel> currentDisks) { super.initialize(currentDisks); setDiskVmElement(new DiskVmElement(new VmDeviceId(null, getIsFloating() ? null : getVm().getId()))); }
private void setUpDiskVmElementExpectations() { DiskVmElement dve = new DiskVmElement(DISK_ID, VM_ID); dve.setDiskInterface(DiskInterface.VirtIO); dve.setBoot(false); setUpGetEntityExpectations( QueryType.GetDiskVmElementById, VmDeviceIdQueryParameters.class, new String[] { "Id"}, new Object[] { new VmDeviceId(DISK_ID, VM_ID)}, dve ); }
@Test public void testDeactivate() { setUriInfo( setUpActionExpectations( ActionType.HotUnPlugDiskFromVm, VmDiskOperationParameterBase.class, new String[] { "DiskVmElement" }, new Object[] { new DiskVmElement(DISK_ID, VM_ID) }, true, true ) ); Response response = resource.deactivate(new Action()); assertEquals(200, response.getStatus()); }
@Test public void testActivate() { setUriInfo( setUpActionExpectations( ActionType.HotPlugDiskToVm, VmDiskOperationParameterBase.class, new String[] { "DiskVmElement" }, new Object[] { new DiskVmElement(DISK_ID, VM_ID) }, true, true ) ); Response response = resource.activate(new Action()); assertEquals(200, response.getStatus()); }
@Override protected void readLunDisk(XmlNode node, LunDisk lun) { lun.setDiskVmElements(Collections.singletonList(new DiskVmElement(lun.getId(), fullEntityOvfData.getVmBase().getId()))); LUNs luns = new LUNs(); consumeReadXmlAttribute(node, OVF_PREFIX + COLON + LUN_ID, val -> luns.setLUNId(val)); ArrayList<StorageServerConnections> lunConnections = new ArrayList<>(); for (XmlNode connNode : selectNodes(node, LUN_CONNECTION)) { StorageServerConnections conn = new StorageServerConnections(); consumeReadXmlAttribute(connNode, OVF_PREFIX + COLON + LUNS_CONNECTION, val -> conn.setConnection(val)); consumeReadXmlAttribute(connNode, OVF_PREFIX + COLON + LUNS_IQN, val -> conn.setIqn(val)); consumeReadXmlAttribute(connNode, OVF_PREFIX + COLON + LUNS_PORT, val -> conn.setPort(val)); consumeReadXmlAttribute(connNode, XSI_PREFIX + COLON + LUNS_STORAGE_TYPE, val -> conn.setStorageType(StorageType.valueOf(val))); consumeReadXmlAttribute(connNode, XSI_PREFIX + COLON + LUNS_PORTAL, val -> conn.setPortal(val)); lunConnections.add(conn); } luns.setLunConnections(lunConnections); lun.setLun(luns); DiskVmElement dve = lun.getDiskVmElementForVm(fullEntityOvfData.getVmBase().getId()); initGeneralDiskAttributes(node, lun, dve); }
private VmDevice createDiskDevice(boolean boot, Map<VmDeviceId, DiskVmElement> idToDiskElement) { Guid id = Guid.newGuid(); VmDevice device = new VmDevice(); device.setType(VmDeviceGeneralType.DISK); device.setDevice(VmDeviceType.DISK.getName()); device.setId(new VmDeviceId(id, null)); DiskVmElement dve = new DiskVmElement(new VmDeviceId(id, null)); dve.setBoot(boot); idToDiskElement.put(dve.getId(), dve); return device; }
@ParameterizedTest @ValueSource(strings = {"true", "false"}) public void testCopyOf(boolean boot) { DiskVmElement dve = new DiskVmElement(Guid.newGuid(), Guid.newGuid()); dve.setBoot(boot); DiskVmElement copy = DiskVmElement.copyOf(dve); assertEquals(copy, dve); assertNotSame(copy, dve); } }
protected void readDisk(XmlNode node, DiskImage image) { image.setDiskVmElements(Collections.singletonList(new DiskVmElement(image.getId(), vmBase.getId()))); DiskVmElement dve = image.getDiskVmElementForVm(vmBase.getId());
@Mapping(from = DiskAttachment.class, to = org.ovirt.engine.core.common.businessentities.storage.DiskVmElement.class) public static org.ovirt.engine.core.common.businessentities.storage.DiskVmElement map(DiskAttachment model, org.ovirt.engine.core.common.businessentities.storage.DiskVmElement template) { org.ovirt.engine.core.common.businessentities.storage.DiskVmElement entity = template != null ? template : new DiskVmElement(); if (model.isSetId()) { entity.setId(new VmDeviceId(GuidUtils.asGuid(model.getId()), null)); } else { entity.setId(new VmDeviceId()); } if (model.isSetBootable()) { entity.setBoot(model.isBootable()); } if (model.isSetPassDiscard()) { entity.setPassDiscard(model.isPassDiscard()); } if (model.isSetInterface()) { entity.setDiskInterface(DiskMapper.mapInterface(model.getInterface())); } if (model.isSetUsesScsiReservation()) { entity.setUsingScsiReservation(model.isUsesScsiReservation()); } if (model.isSetReadOnly()) { entity.setReadOnly(model.isReadOnly()); } return entity; }
@Override public void initialize() { super.initialize(); setDiskVmElement(new DiskVmElement(new VmDeviceId(null, getIsFloating() ? null : getVm().getId()))); if (!getIsFloating()) { if (getIsBootable().getIsChangable()) { getIsBootable().setEntity(true); } updateSuggestedDiskAliasFromServer(); getIsPlugged().setIsAvailable(true); } else { // Read only disk can be created only in the scope of VM. getIsReadOnly().setIsAvailable(false); getIsPlugged().setEntity(false); getIsBootable().setIsAvailable(false); getDiskInterface().setIsAvailable(false); getPassDiscard().setIsAvailable(false); // set using scsi reservation to be invisible getIsUsingScsiReservation().setIsAvailable(false); getIsUsingScsiReservation().setEntity(false); } getSizeExtend().setIsAvailable(false); }