Search in sources :

Example 16 with Hosts

use of org.ovirt.engine.api.model.Hosts in project ovirt-engine by oVirt.

the class VmBaseMapper method mapCommonEntityToModel.

/**
 * Common for VM, template and instance type
 */
protected static void mapCommonEntityToModel(VmBase model, org.ovirt.engine.core.common.businessentities.VmBase entity) {
    model.setId(entity.getId().toString());
    model.setName(entity.getName());
    model.setDescription(entity.getDescription());
    model.setMemory((long) entity.getMemSizeMb() * BYTES_PER_MB);
    Io io = model.getIo();
    if (io == null) {
        io = new Io();
        model.setIo(io);
    }
    io.setThreads(entity.getNumOfIoThreads());
    if (entity.getCreationDate() != null) {
        model.setCreationTime(DateMapper.map(entity.getCreationDate(), null));
    }
    if (entity.getUsbPolicy() != null) {
        Usb usb = new Usb();
        usb.setEnabled(UsbMapperUtils.getIsUsbEnabled(entity.getUsbPolicy()));
        UsbType usbType = UsbMapperUtils.getUsbType(entity.getUsbPolicy());
        if (usbType != null) {
            usb.setType(usbType);
        }
        model.setUsb(usb);
    }
    CpuTopology topology = new CpuTopology();
    topology.setSockets(entity.getNumOfSockets());
    topology.setCores(entity.getCpuPerSocket());
    topology.setThreads(entity.getThreadsPerCpu());
    model.setCpu(new Cpu());
    model.getCpu().setTopology(topology);
    model.setHighAvailability(new HighAvailability());
    model.getHighAvailability().setEnabled(entity.isAutoStartup());
    model.getHighAvailability().setPriority(entity.getPriority());
    model.setMigrationDowntime(mapNullToMinusOne(entity.getMigrationDowntime()));
    model.setMigration(MigrationOptionsMapper.map(entity, null));
    if (entity.getCustomEmulatedMachine() != null) {
        model.setCustomEmulatedMachine(entity.getCustomEmulatedMachine());
    }
    if (entity.getCustomCpuName() != null) {
        model.setCustomCpuModel(entity.getCustomCpuName());
    }
    MemoryPolicy policy = new MemoryPolicy();
    policy.setGuaranteed((long) entity.getMinAllocatedMem() * (long) BYTES_PER_MB);
    policy.setMax((long) entity.getMaxMemorySizeMb() * (long) BYTES_PER_MB);
    model.setMemoryPolicy(policy);
    if (entity.getCustomCompatibilityVersion() != null) {
        model.setCustomCompatibilityVersion(VersionMapper.map(entity.getCustomCompatibilityVersion()));
    }
    model.setLease(StorageDomainLeaseMapper.map(entity.getLeaseStorageDomainId()));
    if (model.getPlacementPolicy() == null) {
        model.setPlacementPolicy(new VmPlacementPolicy());
    }
    VmAffinity vmAffinity = map(entity.getMigrationSupport(), null);
    if (vmAffinity != null) {
        model.getPlacementPolicy().setAffinity(vmAffinity);
    }
    if (!entity.getDedicatedVmForVdsList().isEmpty()) {
        Hosts hostsList = new Hosts();
        for (Guid hostGuid : entity.getDedicatedVmForVdsList()) {
            Host newHost = new Host();
            newHost.setId(hostGuid.toString());
            hostsList.getHosts().add(newHost);
        }
        model.getPlacementPolicy().setHosts(hostsList);
    }
}
Also used : CpuTopology(org.ovirt.engine.api.model.CpuTopology) Hosts(org.ovirt.engine.api.model.Hosts) Usb(org.ovirt.engine.api.model.Usb) UsbType(org.ovirt.engine.api.model.UsbType) Io(org.ovirt.engine.api.model.Io) MemoryPolicy(org.ovirt.engine.api.model.MemoryPolicy) Cpu(org.ovirt.engine.api.model.Cpu) HighAvailability(org.ovirt.engine.api.model.HighAvailability) Host(org.ovirt.engine.api.model.Host) Guid(org.ovirt.engine.core.compat.Guid) VmPlacementPolicy(org.ovirt.engine.api.model.VmPlacementPolicy) VmAffinity(org.ovirt.engine.api.model.VmAffinity)

Example 17 with Hosts

use of org.ovirt.engine.api.model.Hosts in project ovirt-engine by oVirt.

the class BackendVmResourceTest method testUpdateVmPolicyHostsIds.

@Test
public void testUpdateVmPolicyHostsIds() throws Exception {
    setUpUdpateVm();
    setUriInfo(setUpActionExpectations(ActionType.UpdateVm, VmManagementParametersBase.class, new String[] {}, new Object[] {}, true, true));
    Vm model = getModel(0);
    model.setPlacementPolicy(new VmPlacementPolicy());
    Hosts hosts = new Hosts();
    for (int i = 0; i < GUIDS.length; i++) {
        Host newHost = new Host();
        newHost.setId(GUIDS[i].toString());
        hosts.getHosts().add(newHost);
    }
    model.getPlacementPolicy().setHosts(hosts);
    verifyModel(resource.update(model), 0);
}
Also used : Hosts(org.ovirt.engine.api.model.Hosts) Vm(org.ovirt.engine.api.model.Vm) Host(org.ovirt.engine.api.model.Host) VmManagementParametersBase(org.ovirt.engine.core.common.action.VmManagementParametersBase) VmPlacementPolicy(org.ovirt.engine.api.model.VmPlacementPolicy) Test(org.junit.Test)

Example 18 with Hosts

use of org.ovirt.engine.api.model.Hosts in project ovirt-engine by oVirt.

the class BackendVmResourceTest method testStartWithHost.

protected void testStartWithHost(Host host, Guid hostId) throws Exception {
    setUpWindowsGetEntityExpectations(1, false);
    setUriInfo(setUpActionExpectations(ActionType.RunVmOnce, RunVmOnceParams.class, new String[] { "VmId", "DestinationVdsId" }, new Object[] { GUIDS[0], hostId }));
    Action action = new Action();
    action.setVm(new Vm());
    VmPlacementPolicy placementPolicy = new VmPlacementPolicy();
    placementPolicy.setHosts(new Hosts());
    placementPolicy.getHosts().getHosts().add(host);
    action.getVm().setPlacementPolicy(placementPolicy);
    verifyActionResponse(resource.start(action));
}
Also used : Hosts(org.ovirt.engine.api.model.Hosts) Action(org.ovirt.engine.api.model.Action) RunVmOnceParams(org.ovirt.engine.core.common.action.RunVmOnceParams) Vm(org.ovirt.engine.api.model.Vm) VmPlacementPolicy(org.ovirt.engine.api.model.VmPlacementPolicy)

Aggregations

Hosts (org.ovirt.engine.api.model.Hosts)18 Host (org.ovirt.engine.api.model.Host)15 VmPlacementPolicy (org.ovirt.engine.api.model.VmPlacementPolicy)12 Test (org.junit.Test)10 Vm (org.ovirt.engine.api.model.Vm)10 Guid (org.ovirt.engine.core.compat.Guid)5 Response (javax.ws.rs.core.Response)4 VmManagementParametersBase (org.ovirt.engine.core.common.action.VmManagementParametersBase)4 AffinityGroup (org.ovirt.engine.api.model.AffinityGroup)3 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Action (org.ovirt.engine.api.model.Action)1 AffinityRule (org.ovirt.engine.api.model.AffinityRule)1 Cluster (org.ovirt.engine.api.model.Cluster)1 Cpu (org.ovirt.engine.api.model.Cpu)1 CpuTopology (org.ovirt.engine.api.model.CpuTopology)1 Dns (org.ovirt.engine.api.model.Dns)1 HighAvailability (org.ovirt.engine.api.model.HighAvailability)1 Io (org.ovirt.engine.api.model.Io)1 MemoryPolicy (org.ovirt.engine.api.model.MemoryPolicy)1