if (!vm.isSetMemory() && staticVm.getMemSizeMb()==0){ if (vm.isSetTemplate()) { if (vm.getTemplate().getId() != null) { staticVm.setVmtGuid(GuidUtils.asGuid(vm.getTemplate().getId())); if (vm.isSetUseLatestTemplateVersion()) { staticVm.setUseLatestVersion(vm.isUseLatestTemplateVersion()); if (vm.isSetCpu()) { if (vm.getCpu().isSetMode()) { staticVm.setUseHostCpuFlags(vm.getCpu().getMode() == CpuMode.HOST_PASSTHROUGH); if (vm.getCpu().isSetCpuTune()) { staticVm.setCpuPinning(cpuTuneToString(vm.getCpu().getCpuTune())); if (vm.isSetInitialization()) { staticVm.setVmInit(InitializationMapper.map(vm.getInitialization(), staticVm.getVmInit())); if (vm.isSetDomain() && vm.getDomain().isSetName()) { if (staticVm.getVmInit() == null) { staticVm.setVmInit(new VmInit()); if (!vm.isSetInitialization() || !vm.getInitialization().isSetDomain()) { staticVm.getVmInit().setDomain(vm.getDomain().getName()); if (vm.isSetNumaTuneMode()) { staticVm.setNumaTuneMode(map(vm.getNumaTuneMode(), null));
protected boolean namedCluster(Vm vm) { return vm.isSetCluster() && vm.getCluster().isSetName() && !vm.getCluster().isSetId(); }
public static void validateAdd(Vm vm) { if (vm == null) { throw new ValidationException("Parameter 'vm' is mandatory but was not provided."); } if ( (vm.getId()==null) && (vm.getName()==null) ) { throw new ValidationException("Parameters 'vm.id' or 'vm.name' are mandatory but both were not provided."); } }
if (from.isSetLinks()) { List<Link> links = from.getLinks().stream() .filter(link -> !RELS_TO_REMOVE.contains(link.getRel())) .collect(toList()); if (from.isSetActions()) { to.setActions(adaptOut(from.getActions())); if (from.isSetBios()) { to.setBios(adaptOut(from.getBios())); if (from.isSetCdroms()) { to.setCdroms(new V3CdRoms()); to.getCdroms().getCdRoms().addAll(adaptOut(from.getCdroms().getCdroms())); if (from.isSetCluster()) { to.setCluster(adaptOut(from.getCluster())); if (from.isSetComment()) { to.setComment(from.getComment()); if (from.isSetConsole()) { to.setConsole(adaptOut(from.getConsole())); if (from.isSetCpu()) { to.setCpu(adaptOut(from.getCpu())); if (from.isSetCpuProfile()) { to.setCpuProfile(adaptOut(from.getCpuProfile()));
public static Vm map(org.ovirt.engine.core.common.businessentities.VM entity, Vm template, boolean showDynamicInfo) { Vm model = template != null ? template : new Vm(); model.setTemplate(new Template()); model.getTemplate().setId(entity.getVmtGuid().toString()); model.setUseLatestTemplateVersion(entity.isUseLatestVersion()); model.setOriginalTemplate(new Template()); model.getOriginalTemplate().setId(entity.getOriginalTemplateGuid().toString()); model.setInstanceType(new InstanceType()); model.getInstanceType().setId(entity.getInstanceTypeId().toString()); model.setStatus(mapVmStatus(entity.getStatus())); if (entity.getStatus() == VMStatus.Paused) { model.setStatusDetail(entity.getVmPauseStatus().name().toLowerCase()); } else if (entity.getStatus() == VMStatus.Down && entity.getBackgroundOperationDescription() != null) { model.setStatusDetail(entity.getBackgroundOperationDescription()); model.setStopReason(entity.getStopReason()); os.setInitrd(entity.getInitrdUrl()); os.setCmdline(entity.getKernelParams()); model.setOs(os); model.getCpu().setMode(CpuMode.HOST_PASSTHROUGH); model.getCpu().setCpuTune(stringToCpuTune(entity.getCpuPinning()));
@Override protected void verify(Vm model, Vm transform) { assertNotNull(transform); assertEquals(model.getName(), transform.getName()); assertEquals(model.getId(), transform.getId()); assertEquals(model.getDescription(), transform.getDescription()); assertEquals(model.getComment(), transform.getComment()); assertEquals(model.getType(), transform.getType()); assertEquals(model.getOrigin(), transform.getOrigin()); assertTrue(Math.abs(model.getMemory() - transform.getMemory()) <= (1024 * 1024)); assertNotNull(transform.getTemplate()); assertEquals(model.getTemplate().getId(), transform.getTemplate().getId()); assertNotNull(transform.getCluster()); assertNotNull(transform.getCpu()); assertNotNull(transform.getCpu().getTopology()); assertTrue(Math.abs(model.getCpu().getTopology().getCores() - transform.getCpu().getTopology().getCores()) < model.getCpu().getTopology().getSockets()); assertEquals(model.getCpu().getTopology().getSockets(), transform.getCpu().getTopology().getSockets()); assertEquals(model.getBios().getBootMenu().isEnabled(), transform.getBios().getBootMenu().isEnabled()); assertNotNull(transform.getOs()); assertTrue(transform.getOs().isSetBoot()); assertEquals(model.getOs().getBoot().getDevices().getDevices(), transform.getOs().getBoot().getDevices().getDevices()); assertEquals(model.getOs().getKernel(), transform.getOs().getKernel()); assertEquals(model.getOs().getInitrd(), transform.getOs().getInitrd()); assertEquals(model.getOs().getCmdline(), transform.getOs().getCmdline()); assertTrue(transform.isSetDisplay()); assertEquals(model.isSetDisplay(), transform.isSetDisplay()); assertEquals(model.getDisplay().getType(), transform.getDisplay().getType());
@Mapping(from = Vm.class, to = RunVmOnceParams.class) public static RunVmOnceParams map(Vm vm, RunVmOnceParams template) { RunVmOnceParams params = template != null ? template : new RunVmOnceParams(); if (vm.isSetStateless() && vm.isStateless()) { params.setRunAsStateless(true); if (vm.isSetDisplay()) { if (vm.getDisplay().isSetKeyboardLayout()) { String vncKeyboardLayout = vm.getDisplay().getKeyboardLayout(); params.setVncKeyboardLayout(vncKeyboardLayout); if (vm.isSetOs() && vm.getOs().isSetBoot() && vm.getOs().getBoot().isSetDevices() && vm.getOs().getBoot().getDevices().isSetDevices()) { params.setBootSequence(map(vm.getOs().getBoot(), null)); if (vm.isSetCdroms() && vm.getCdroms().isSetCdroms()) { String file = vm.getCdroms().getCdroms().get(0).getFile().getId(); if (file != null) { params.setDiskPath(file); if (vm.isSetFloppies() && vm.getFloppies().isSetFloppies()) { String file = vm.getFloppies().getFloppies().get(0).getFile().getId(); if (file != null) { params.setFloppyPath(file); if (vm.isSetCustomProperties()) { params.setCustomProperties(CustomPropertiesParser.parse(vm.getCustomProperties().getCustomProperties())); if (vm.isSetBios()) { if (vm.getBios().isSetBootMenu()) {
private Vm createModel(DiskAttachments diskAttachments) { Vm model = getModel(2); model.setTemplate(new Template()); model.getTemplate().setId(GUIDS[1].toString()); model.setCluster(new org.ovirt.engine.api.model.Cluster()); model.getCluster().setId(GUIDS[2].toString()); if (diskAttachments != null){ model.setDiskAttachments(diskAttachments); } return model; }
@Override protected Vm postPopulate(Vm from) { from.setType(VmType.DESKTOP); from.setStorageErrorResumeBehaviour(VmStorageErrorResumeBehaviour.AUTO_RESUME); from.setOrigin(OriginType.VMWARE.name().toLowerCase()); from.getDisplay().setType(DisplayType.SPICE); from.getPayloads().getPayloads().get(0).setType(VmDeviceType.CDROM); List<BootDevice> devices = from.getOs().getBoot().getDevices().getDevices(); for (int i = 0; i < devices.size(); i++) { devices.set(i, BootDevice.HD); while (from.getCpu().getTopology().getSockets() == 0) { from.getCpu().getTopology().setSockets(MappingTestHelper.rand(100)); while (from.getCpu().getTopology().getCores() == 0) { from.getCpu().getTopology().setCores(MappingTestHelper.rand(100)); pins.getVcpuPins().add(pin); cpuTune.setVcpuPins(pins); from.getCpu().setCpuTune(cpuTune); from.setTimeZone(new TimeZone()); from.getTimeZone().setName("Australia/Darwin"); from.setPlacementPolicy(createPlacementPolicy(Guid.EVERYONE, Guid.SYSTEM)); for (NicConfiguration guestNic : from.getInitialization().getNicConfigurations().getNicConfigurations()) { guestNic.setBootProtocol(BootProtocol.STATIC); from.getDisplay().setType(DisplayType.SPICE); from.getSerialNumber().setPolicy(SerialNumberPolicy.CUSTOM);
validateIconParameters(vm); Response response = null; if (vm.isSetInitialization() && vm.getInitialization().isSetConfiguration()) { validateParameters(vm, "initialization.configuration.type", "initialization.configuration.data"); response = importVmFromConfiguration(vm); validateParameters(vm, "template.id|name"); Cluster cluster = getCluster(vm); VmTemplate template = lookupTemplate(vm.getTemplate(), cluster.getStoragePoolId()); if (!vm.isSetCpuProfile() && vm.isSetCluster() && !Objects.equals(Objects.toString(template.getClusterId(), null), vm.getCluster().getId())) { builtFromTemplate.setCpuProfileId(null); if (vm.isSetInstanceType() && (vm.getInstanceType().isSetId() || vm.getInstanceType().isSetName())) { instanceTypeEntity = lookupInstance(vm.getInstanceType()); builtFromInstanceType = VmMapper.map(instanceTypeEntity, builtFromTemplate, cluster.getCompatibilityVersion()); builtFromInstanceType.setInstanceTypeId(instanceTypeEntity.getId()); if (Guid.Empty.equals(template.getId()) && !vm.isSetOs()) { staticVm.setOsId(OsRepository.AUTO_SELECT_OS); staticVm.setUsbPolicy(VmMapper.getUsbPolicyOnCreate(vm.getUsb())); if (!isFiltered() && vm.isSetPlacementPolicy()) { Set<Guid> hostGuidsSet = validateAndUpdateHostsInPlacementPolicy(vm.getPlacementPolicy()); staticVm.setDedicatedVmForVdsList(new LinkedList<>(hostGuidsSet)); } else { vm.setPlacementPolicy(null);
private void doTestVmLinks(boolean suggestParent) { Vm vm = new Vm(); vm.setId(VM_ID); vm.setCluster(new Cluster()); vm.getCluster().setId(CLUSTER_ID); vm.setTemplate(new Template()); vm.getTemplate().setId(TEMPLATE_ID); vm.setVmPool(new VmPool()); vm.getVmPool().setId(VM_POOL_ID); if (suggestParent) { LinkHelper.addLinks(vm, Vm.class); } else { LinkHelper.addLinks(vm); } assertEquals(VM_HREF, vm.getHref()); assertEquals(CLUSTER_HREF, vm.getCluster().getHref()); assertEquals(TEMPLATE_HREF, vm.getTemplate().getHref()); assertEquals(VM_POOL_HREF, vm.getVmPool().getHref()); }
static Vm getModel(int index) { Vm model = new Vm(); model.setName(NAMES[index]); model.setDescription(DESCRIPTIONS[index]); model.setId(GUIDS[index].toString()); model.setCluster(new org.ovirt.engine.api.model.Cluster()); model.getCluster().setId(GUIDS[2].toString()); return model; }
updated.setUsbPolicy(VmMapper.getUsbPolicyOnUpdate(incoming.getUsb(), entity.getUsbPolicy())); if (incoming.isSetPayloads()) { if (incoming.isSetPayloads() && incoming.getPayloads().isSetPayloads()) { params.setVmPayload(parent.getPayload(incoming)); } else { if (incoming.isSetMemoryPolicy() && incoming.getMemoryPolicy().isSetBallooning()) { params.setBalloonEnabled(incoming.getMemoryPolicy().isBallooning()); if (incoming.isSetConsole() && incoming.getConsole().isSetEnabled()) { params.setConsoleEnabled(incoming.getConsole().isEnabled()); if (incoming.isSetVirtioScsi()) { if (incoming.getVirtioScsi().isSetEnabled()) { params.setVirtioScsiEnabled(incoming.getVirtioScsi().isEnabled()); if (incoming.isSetSoundcardEnabled()) { params.setSoundDeviceEnabled(incoming.isSoundcardEnabled()); if (incoming.isSetRngDevice()) { params.setUpdateRngDevice(true); params.setRngDevice(RngDeviceMapper.map(incoming.getRngDevice(), null)); DisplayHelper.setGraphicsToParams(incoming.getDisplay(), params); if (incoming.isSetInstanceType() && (incoming.getInstanceType().isSetId() || incoming.getInstanceType().isSetName())) { updated.setInstanceTypeId(lookupInstanceTypeId(incoming.getInstanceType())); } else if (incoming.isSetInstanceType()) {
&& vm.getName()!=null && (( vm.getCluster()!=null && vm.getCluster().getId()!=null) || ( vm.getCluster()!=null && vm.getCluster().getName()!=null)) && (( vm.getTemplate()!=null && vm.getTemplate().getId()!=null) || ( vm.getTemplate()!=null && vm.getTemplate().getName()!=null)) ) { return VmsResource.class.getMethod("addFromScratch", Vm.class); && vm.getName()!=null && (( vm.getCluster()!=null && vm.getCluster().getId()!=null) || ( vm.getCluster()!=null && vm.getCluster().getName()!=null)) && (( vm.getTemplate()!=null && vm.getTemplate().getId()!=null) || ( vm.getTemplate()!=null && vm.getTemplate().getName()!=null)) && vm.getSnapshots()!=null && vm.getSnapshots().getSnapshots()!=null && vm.getSnapshots().getSnapshots().size() > 0 && vm.getSnapshots().getSnapshots().get(0).getId()!=null ) { return VmsResource.class.getMethod("addFromSnapshot", Vm.class); && vm.getInitialization()!=null && vm.getInitialization().getConfiguration()!=null && vm.getInitialization().getConfiguration().getType()!=null && vm.getInitialization()!=null && vm.getInitialization().getConfiguration()!=null && vm.getInitialization().getConfiguration().getData()!=null ) { return VmsResource.class.getMethod("addFromConfiguration", Vm.class);
Vm model = createModel(null); org.ovirt.engine.core.common.businessentities.VM returnedVM = getEntity(2); model.setInitialization(new Initialization()); model.getInitialization().setRegenerateIds(Boolean.TRUE); model.getInitialization().setConfiguration(new Configuration()); model.getInitialization().getConfiguration().setData("asdasdasd"); model.getInitialization().getConfiguration().setType(org.ovirt.engine.api.model.ConfigurationType.OVF); setUpGetEntityExpectations(QueryType.GetVmFromConfiguration, GetVmFromConfigurationQueryParameters.class, new String[]{"VmConfiguration", "ConfigurationType"}, new Object[]{model.getInitialization().getConfiguration().getData(), ConfigurationType.OVF}, returnedVM); Guid newId = GUIDS[3]; ImportVmFromConfParameters.class, new String[] { "Vm", "ClusterId", "ImportAsNewEntity" }, new Object[] { returnedVM, Guid.createGuidFromString(model.getCluster().getId()), true}, true, true, assertTrue(response.getEntity() instanceof Vm); Vm queriedVm = (Vm) response.getEntity(); assertEquals(newId.toString(), queriedVm.getId()); queriedVm.setId(GUIDS[2].toString()); verifyModel((Vm) response.getEntity(), 2);
private RunVmOnceParams createRunVmOnceParams(Vm vm, boolean volatileRun) { VM entity = getEntity(entityType, QueryType.GetVmByVmId, new IdQueryParameters(guid), id, true); RunVmOnceParams params = map(vm, map(map(entity, new Vm()), new RunVmOnceParams(guid))); if (vm.isSetPlacementPolicy()) { Set<Guid> hostsGuidsSet = parent.validateAndUpdateHostsInPlacementPolicy(vm.getPlacementPolicy()); if (hostsGuidsSet.size() > 0) { // take the arbitrary first host for run destination params.setDestinationVdsId(hostsGuidsSet.iterator().next()); } } if (vm.isSetInitialization()) { if (vm.getInitialization().isSetCloudInit()) { params.setInitializationType(InitializationType.CloudInit); } params.setVmInit(InitializationMapper.map(vm.getInitialization(), entity.getVmInit())); } params.setVolatileRun(volatileRun); return params; }
public void setCertificateInfo(Vm model) { QueryReturnValue result = runQuery(QueryType.GetVdsCertificateSubjectByVmId, new IdQueryParameters(asGuid(model.getId()))); if (result != null && result.getSucceeded() && result.getReturnValue() != null) { if (!model.isSetDisplay()) { model.setDisplay(new Display()); } model.getDisplay().setCertificate(new Certificate()); model.getDisplay().getCertificate().setSubject(result.getReturnValue().toString()); } }
public Response importVmFromConfiguration(Vm vm) { Initialization initialization = vm.getInitialization(); Configuration config = initialization.getConfiguration(); org.ovirt.engine.core.common.businessentities.VM vmConfiguration = getEntity(org.ovirt.engine.core.common.businessentities.VM.class, QueryType.GetVmFromConfiguration, new GetVmFromConfigurationQueryParameters(VmMapper.map(config.getType(), null), config.getData().trim()), ""); vm.setInitialization(null); // if configuration is provided, the initialization parameters cannot be overridden VmMapper.map(vm, vmConfiguration.getStaticData()); Guid clusterId = namedCluster(vm) ? getCluster(vm).getId() : asGuid(vm.getCluster().getId()); ImportVmFromConfParameters parameters = new ImportVmFromConfParameters(); parameters.setVm(vmConfiguration); parameters.setClusterId(clusterId); if (initialization.isSetRegenerateIds()) { parameters.setImportAsNewEntity(initialization.isRegenerateIds()); } return performCreate(ActionType.ImportVmFromConfiguration, parameters, new QueryIdResolver<Guid>(QueryType.GetVmByVmId, IdQueryParameters.class)); }