use of org.ovirt.engine.api.model.CpuTopology 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;
}
use of org.ovirt.engine.api.model.CpuTopology in project ovirt-engine by oVirt.
the class V3CpuTopologyInAdapter method adapt.
@Override
public CpuTopology adapt(V3CpuTopology from) {
CpuTopology to = new CpuTopology();
to.setCores(from.getCores());
to.setSockets(from.getSockets());
to.setThreads(from.getThreads());
return to;
}
use of org.ovirt.engine.api.model.CpuTopology 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);
}
}
Aggregations