Search in sources :

Example 36 with Host

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

the class HostDeviceMapper method map.

@Mapping(from = org.ovirt.engine.core.common.businessentities.HostDevice.class, to = HostDevice.class)
public static HostDevice map(org.ovirt.engine.core.common.businessentities.HostDevice entity, HostDevice model) {
    if (model == null) {
        model = new HostDevice();
    }
    if (!model.isSetHost()) {
        model.setHost(new Host());
    }
    model.getHost().setId(entity.getHostId().toString());
    model.setId(HexUtils.string2hex(entity.getDeviceName()));
    model.setName(entity.getDeviceName());
    model.setCapability(entity.getCapability());
    model.setParentDevice(getSameHostDeviceReference(entity.getHostId(), entity.getParentDeviceName()));
    model.setDriver(entity.getDriver());
    if (entity.getProductId() != null || entity.getProductName() != null) {
        if (!model.isSetProduct()) {
            model.setProduct(new Product());
        }
        model.getProduct().setId(entity.getProductId());
        model.getProduct().setName(entity.getProductName());
    }
    if (entity.getVendorId() != null || entity.getVendorName() != null) {
        if (!model.isSetVendor()) {
            model.setVendor(new Vendor());
        }
        model.getVendor().setId(entity.getVendorId());
        model.getVendor().setName(entity.getVendorName());
    }
    model.setIommuGroup(entity.getIommuGroup());
    if (entity.getParentPhysicalFunction() != null) {
        model.setPhysicalFunction(getSameHostDeviceReference(entity.getHostId(), entity.getParentPhysicalFunction()));
    }
    model.setVirtualFunctions(entity.getTotalVirtualFunctions());
    if (entity.getVmId() != null) {
        model.setVm(new Vm());
        model.getVm().setId(entity.getVmId().toString());
    }
    return model;
}
Also used : HostDevice(org.ovirt.engine.api.model.HostDevice) Vm(org.ovirt.engine.api.model.Vm) Product(org.ovirt.engine.api.model.Product) Host(org.ovirt.engine.api.model.Host) Vendor(org.ovirt.engine.api.model.Vendor)

Example 37 with Host

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

the class HostMapper method map.

@Mapping(from = VDS.class, to = Host.class)
public static Host map(VDS entity, Host template) {
    Host model = template != null ? template : new Host();
    model.setId(entity.getId().toString());
    model.setName(entity.getName());
    model.setComment(entity.getComment());
    if (entity.getClusterId() != null) {
        Cluster cluster = new Cluster();
        cluster.setId(entity.getClusterId().toString());
        model.setCluster(cluster);
    }
    model.setAddress(entity.getHostName());
    if (entity.getPort() > 0) {
        model.setPort(entity.getPort());
    }
    // We return always STOMP because support for XML-RPC was removed in version 4.1 of the engine.
    model.setProtocol(HostProtocol.STOMP);
    HostStatus status = map(entity.getStatus(), null);
    model.setStatus(status);
    if (entity.getExternalStatus() != null) {
        ExternalStatus externalStatus = ExternalStatusMapper.map(entity.getExternalStatus());
        model.setExternalStatus(externalStatus);
    }
    if (status == HostStatus.NON_OPERATIONAL) {
        model.setStatusDetail(entity.getNonOperationalReason().name().toLowerCase());
    } else if (status == HostStatus.MAINTENANCE || status == HostStatus.PREPARING_FOR_MAINTENANCE) {
        model.setStatusDetail(entity.getMaintenanceReason());
    }
    Spm spm = new Spm();
    spm.setPriority(entity.getVdsSpmPriority());
    if (entity.getSpmStatus() != null) {
        spm.setStatus(mapSpmStatus(entity.getSpmStatus()));
    }
    model.setSpm(spm);
    if (entity.getVersion() != null && entity.getVersion().getMajor() != -1 && entity.getVersion().getMinor() != -1 && entity.getVersion().getRevision() != -1 && entity.getVersion().getBuild() != -1) {
        Version version = new Version();
        version.setMajor(entity.getVersion().getMajor());
        version.setMinor(entity.getVersion().getMinor());
        version.setRevision(entity.getVersion().getRevision());
        version.setBuild(entity.getVersion().getBuild());
        version.setFullVersion(entity.getVersion().getRpmName());
        model.setVersion(version);
    }
    model.setOs(mapOperatingSystem(entity));
    model.setKsm(new Ksm());
    model.getKsm().setEnabled(Boolean.TRUE.equals(entity.getKsmState()));
    model.setTransparentHugepages(new TransparentHugePages());
    model.getTransparentHugepages().setEnabled(!(entity.getTransparentHugePagesState() == null || entity.getTransparentHugePagesState() == VdsTransparentHugePagesState.Never));
    if (entity.getIScsiInitiatorName() != null) {
        model.setIscsi(new IscsiDetails());
        model.getIscsi().setInitiator(entity.getIScsiInitiatorName());
    }
    model.setPowerManagement(map(entity, (PowerManagement) null));
    model.setHardwareInformation(map(entity, (HardwareInformation) null));
    model.setSsh(map(entity.getStaticData(), null));
    Cpu cpu = new Cpu();
    CpuTopology cpuTopology = new CpuTopology();
    if (entity.getCpuSockets() != null) {
        cpuTopology.setSockets(entity.getCpuSockets());
        if (entity.getCpuCores() != null) {
            cpuTopology.setCores(entity.getCpuCores() / entity.getCpuSockets());
            if (entity.getCpuThreads() != null) {
                cpuTopology.setThreads(entity.getCpuThreads() / entity.getCpuCores());
            }
        }
    }
    cpu.setTopology(cpuTopology);
    cpu.setName(entity.getCpuModel());
    if (entity.getCpuSpeedMh() != null) {
        cpu.setSpeed(new BigDecimal(entity.getCpuSpeedMh()));
    }
    model.setCpu(cpu);
    VmSummary vmSummary = new VmSummary();
    vmSummary.setActive(entity.getVmActive());
    vmSummary.setMigrating(entity.getVmMigrating());
    vmSummary.setTotal(entity.getVmCount());
    model.setSummary(vmSummary);
    if (entity.getVdsType() != null) {
        HostType type = map(entity.getVdsType(), null);
        model.setType(type);
    }
    model.setMemory(Long.valueOf(entity.getPhysicalMemMb() == null ? 0 : entity.getPhysicalMemMb() * BYTES_IN_MEGABYTE));
    model.setMaxSchedulingMemory((int) entity.getMaxSchedulingMemory() * BYTES_IN_MEGABYTE);
    if (entity.getLibvirtVersion() != null && entity.getLibvirtVersion().getMajor() != -1 && entity.getLibvirtVersion().getMinor() != -1 && entity.getLibvirtVersion().getRevision() != -1 && entity.getLibvirtVersion().getBuild() != -1) {
        Version version = new Version();
        version.setMajor(entity.getLibvirtVersion().getMajor());
        version.setMinor(entity.getLibvirtVersion().getMinor());
        version.setRevision(entity.getLibvirtVersion().getRevision());
        version.setBuild(entity.getLibvirtVersion().getBuild());
        version.setFullVersion(entity.getLibvirtVersion().getRpmName());
        model.setLibvirtVersion(version);
    }
    if (entity.getConsoleAddress() != null && !"".equals(entity.getConsoleAddress())) {
        model.setDisplay(new Display());
        model.getDisplay().setAddress(entity.getConsoleAddress());
    }
    model.setKdumpStatus(map(entity.getKdumpStatus(), null));
    model.setSeLinux(map(entity, (SeLinux) null));
    model.setAutoNumaStatus(map(entity.getAutoNumaBalancing(), null));
    model.setNumaSupported(entity.isNumaSupport());
    if (entity.getHostProviderId() != null) {
        model.setExternalHostProvider(new ExternalHostProvider());
        model.getExternalHostProvider().setId(entity.getHostProviderId().toString());
    }
    model.setUpdateAvailable(entity.isUpdateAvailable());
    HostDevicePassthrough devicePassthrough = model.getDevicePassthrough();
    if (devicePassthrough == null) {
        devicePassthrough = new HostDevicePassthrough();
        model.setDevicePassthrough(devicePassthrough);
    }
    devicePassthrough.setEnabled(entity.isHostDevicePassthroughEnabled());
    if (entity.getHostName() != null) {
        String subject = CertificateSubjectHelper.getCertificateSubject(entity.getHostName());
        model.setCertificate(new Certificate());
        model.getCertificate().setSubject(subject);
        model.getCertificate().setOrganization(subject.split(",")[0].replace("O=", ""));
    }
    return model;
}
Also used : ExternalHostProvider(org.ovirt.engine.api.model.ExternalHostProvider) Ksm(org.ovirt.engine.api.model.Ksm) IscsiDetails(org.ovirt.engine.api.model.IscsiDetails) HostDevicePassthrough(org.ovirt.engine.api.model.HostDevicePassthrough) TransparentHugePages(org.ovirt.engine.api.model.TransparentHugePages) Cluster(org.ovirt.engine.api.model.Cluster) Cpu(org.ovirt.engine.api.model.Cpu) Host(org.ovirt.engine.api.model.Host) HardwareInformation(org.ovirt.engine.api.model.HardwareInformation) BigDecimal(java.math.BigDecimal) ExternalStatus(org.ovirt.engine.api.model.ExternalStatus) CpuTopology(org.ovirt.engine.api.model.CpuTopology) Spm(org.ovirt.engine.api.model.Spm) PowerManagement(org.ovirt.engine.api.model.PowerManagement) HostType(org.ovirt.engine.api.model.HostType) VmSummary(org.ovirt.engine.api.model.VmSummary) Version(org.ovirt.engine.api.model.Version) HostStatus(org.ovirt.engine.api.model.HostStatus) SeLinux(org.ovirt.engine.api.model.SeLinux) Display(org.ovirt.engine.api.model.Display) Certificate(org.ovirt.engine.api.model.Certificate)

Example 38 with Host

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

the class StorageConnectionExtensionResourceTestHelper method getModel.

protected static StorageConnectionExtension getModel(Guid extensionID, Guid hostID, String pass, String username, String iqn) {
    StorageConnectionExtension extension = new StorageConnectionExtension();
    Host host = new Host();
    host.setId(hostID.toString());
    extension.setHost(host);
    extension.setId(extensionID.toString());
    extension.setTarget(iqn);
    extension.setUsername(username);
    extension.setPassword(pass);
    return extension;
}
Also used : Host(org.ovirt.engine.api.model.Host) StorageConnectionExtension(org.ovirt.engine.api.model.StorageConnectionExtension)

Example 39 with Host

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

the class BackendVmResourceTest method testStartWithHostName.

@Test
public void testStartWithHostName() throws Exception {
    setUpGetHostByNameExpectations(1);
    Host host = new Host();
    host.setName(NAMES[1]);
    testStartWithHost(host, GUIDS[1]);
}
Also used : Host(org.ovirt.engine.api.model.Host) Test(org.junit.Test)

Example 40 with Host

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

the class BackendVmResourceTest method testUpdateVmPolicySingleHostName.

@Test
public void testUpdateVmPolicySingleHostName() throws Exception {
    setUpUdpateVm();
    setUpGetHostByNameExpectations(1);
    setUriInfo(setUpActionExpectations(ActionType.UpdateVm, VmManagementParametersBase.class, new String[] {}, new Object[] {}, true, true));
    Vm model = getModel(0);
    model.setPlacementPolicy(new VmPlacementPolicy());
    model.getPlacementPolicy().setHosts(new Hosts());
    model.getPlacementPolicy().getHosts().getHosts().add(new Host());
    model.getPlacementPolicy().getHosts().getHosts().get(0).setName(NAMES[1]);
    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)

Aggregations

Host (org.ovirt.engine.api.model.Host)114 Test (org.junit.Test)58 Vm (org.ovirt.engine.api.model.Vm)21 Response (javax.ws.rs.core.Response)15 Hosts (org.ovirt.engine.api.model.Hosts)15 StorageDomain (org.ovirt.engine.api.model.StorageDomain)13 WebApplicationException (javax.ws.rs.WebApplicationException)12 VDS (org.ovirt.engine.core.common.businessentities.VDS)12 VmPlacementPolicy (org.ovirt.engine.api.model.VmPlacementPolicy)11 Guid (org.ovirt.engine.core.compat.Guid)10 Cluster (org.ovirt.engine.api.model.Cluster)7 HostNic (org.ovirt.engine.api.model.HostNic)6 StorageServerConnectionParametersBase (org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase)5 StorageServerConnections (org.ovirt.engine.core.common.businessentities.StorageServerConnections)5 HashSet (java.util.HashSet)4 ArrayList (java.util.ArrayList)3 AffinityGroup (org.ovirt.engine.api.model.AffinityGroup)3 HostStorage (org.ovirt.engine.api.model.HostStorage)3 HostType (org.ovirt.engine.api.model.HostType)3 Spm (org.ovirt.engine.api.model.Spm)3