use of org.ovirt.engine.core.common.businessentities.VmInit in project ovirt-engine by oVirt.
the class VmInitDaoTest method testUpdate.
@Test
public void testUpdate() {
addVmInit();
VmInit init = vmInitDao.get(EXISTING_VM);
init.setHostname("newhostname");
vmInitDao.update(init);
VmInit result = vmInitDao.get(init.getId());
assertNotNull(result);
assertEquals("newhostname", result.getHostname());
}
use of org.ovirt.engine.core.common.businessentities.VmInit in project ovirt-engine by oVirt.
the class VmInitDaoTest method testRemove.
@Test
public void testRemove() {
addVmInit();
VmInit result = vmInitDao.get(EXISTING_VM);
assertNotNull(result);
vmInitDao.remove(EXISTING_VM);
result = vmInitDao.get(EXISTING_VM);
assertNull(result);
}
use of org.ovirt.engine.core.common.businessentities.VmInit in project ovirt-engine by oVirt.
the class VmMapper method map.
@Mapping(from = Vm.class, to = VmStatic.class)
public static VmStatic map(Vm vm, VmStatic template) {
VmStatic staticVm = template != null ? template : new VmStatic();
mapVmBaseModelToEntity(staticVm, vm);
if (!vm.isSetMemory() && staticVm.getMemSizeMb() == 0) {
// TODO: Get rid of this logic code when Backend supports default memory.
staticVm.setMemSizeMb(DEFAULT_MEMORY_SIZE);
}
if (vm.isSetTemplate()) {
if (vm.getTemplate().getId() != null) {
staticVm.setVmtGuid(GuidUtils.asGuid(vm.getTemplate().getId()));
}
// it will be handled by the backend.
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 the Domain set via VmInit we ignore it
if (vm.isSetDomain() && vm.getDomain().isSetName()) {
if (staticVm.getVmInit() == null) {
staticVm.setVmInit(new VmInit());
}
// We don't want to override the domain if it set via the Initialization object
if (!vm.isSetInitialization() || !vm.getInitialization().isSetDomain()) {
staticVm.getVmInit().setDomain(vm.getDomain().getName());
}
}
if (vm.isSetNumaTuneMode()) {
staticVm.setNumaTuneMode(map(vm.getNumaTuneMode(), null));
}
if (vm.isSetExternalHostProvider()) {
String providerId = vm.getExternalHostProvider().getId();
staticVm.setProviderId(providerId == null ? null : GuidUtils.asGuid(providerId));
}
return staticVm;
}
use of org.ovirt.engine.core.common.businessentities.VmInit in project ovirt-engine by oVirt.
the class VmMapper method map.
@Mapping(from = CloudInit.class, to = VmInit.class)
public static VmInit map(CloudInit model, VmInit template) {
VmInit entity = template != null ? template : new VmInit();
if (model.isSetHost() && model.getHost().isSetAddress()) {
entity.setHostname(model.getHost().getAddress());
}
if (model.isSetAuthorizedKeys() && model.getAuthorizedKeys().isSetAuthorizedKeys() && !model.getAuthorizedKeys().getAuthorizedKeys().isEmpty()) {
StringBuilder keys = new StringBuilder();
for (AuthorizedKey authKey : model.getAuthorizedKeys().getAuthorizedKeys()) {
if (keys.length() > 0) {
keys.append("\n");
}
keys.append(authKey.getKey());
}
entity.setAuthorizedKeys(keys.toString());
}
if (model.isSetRegenerateSshKeys()) {
entity.setRegenerateKeys(model.isRegenerateSshKeys());
}
if (model.isSetNetworkConfiguration()) {
if (model.getNetworkConfiguration().isSetNics()) {
List<VmInitNetwork> interfaces = new ArrayList<>();
for (Nic iface : model.getNetworkConfiguration().getNics().getNics()) {
VmInitNetwork vmInitInterface = new VmInitNetwork();
if (iface.isSetName()) {
vmInitInterface.setName(iface.getName());
}
interfaces.add(vmInitInterface);
if (iface.isSetBootProtocol()) {
Ipv4BootProtocol protocol = Ipv4BootProtocolMapper.map(iface.getBootProtocol());
vmInitInterface.setBootProtocol(protocol);
if (protocol != Ipv4BootProtocol.DHCP && iface.isSetNetwork() && iface.getNetwork().isSetIp()) {
if (iface.getNetwork().getIp().isSetAddress()) {
vmInitInterface.setIp(iface.getNetwork().getIp().getAddress());
}
if (iface.getNetwork().getIp().isSetNetmask()) {
vmInitInterface.setNetmask(iface.getNetwork().getIp().getNetmask());
}
if (iface.getNetwork().getIp().isSetGateway()) {
vmInitInterface.setGateway(iface.getNetwork().getIp().getGateway());
}
}
if (iface.isSetOnBoot() && iface.isOnBoot()) {
vmInitInterface.setStartOnBoot(true);
}
}
}
entity.setNetworks(interfaces);
}
if (model.getNetworkConfiguration().isSetDns()) {
if (model.getNetworkConfiguration().getDns().isSetServers() && model.getNetworkConfiguration().getDns().getServers().isSetHosts() && !model.getNetworkConfiguration().getDns().getServers().getHosts().isEmpty()) {
List<String> dnsServers = new ArrayList<>();
for (Host host : model.getNetworkConfiguration().getDns().getServers().getHosts()) {
if (host.isSetAddress()) {
dnsServers.add(host.getAddress());
}
}
entity.setDnsServers(String.join(" ", dnsServers));
}
if (model.getNetworkConfiguration().getDns().isSetSearchDomains() && model.getNetworkConfiguration().getDns().getSearchDomains().isSetHosts() && !model.getNetworkConfiguration().getDns().getSearchDomains().getHosts().isEmpty()) {
List<String> searchDomains = new ArrayList<>();
for (Host host : model.getNetworkConfiguration().getDns().getSearchDomains().getHosts()) {
if (host.isSetAddress()) {
searchDomains.add(host.getAddress());
}
}
entity.setDnsSearch(String.join(" ", searchDomains));
}
}
}
if (model.isSetTimezone() && model.getTimezone() != null) {
entity.setTimeZone(model.getTimezone());
}
if (model.isSetUsers()) {
for (User user : model.getUsers().getUsers()) {
String userName = user.getUserName();
if (StringUtils.equals(userName, "root")) {
entity.setUserName(userName);
String userPassword = user.getPassword();
if (userPassword != null) {
entity.setRootPassword(userPassword);
}
}
}
}
// for RunOnce backward compatibility.
if (model.isSetFiles() && model.getFiles().isSetFiles() && !model.getFiles().getFiles().isEmpty()) {
File file = model.getFiles().getFiles().get(0);
entity.setCustomScript(file.getContent());
}
return entity;
}
use of org.ovirt.engine.core.common.businessentities.VmInit in project ovirt-engine by oVirt.
the class TemplateMapper method map.
@Mapping(from = Template.class, to = VmStatic.class)
public static VmStatic map(Template model, VmStatic incoming) {
VmStatic staticVm = incoming != null ? incoming : new VmStatic();
mapVmBaseModelToEntity(staticVm, model);
if (model.isSetInitialization()) {
staticVm.setVmInit(InitializationMapper.map(model.getInitialization(), staticVm.getVmInit()));
}
if (model.isSetDomain() && model.getDomain().isSetName()) {
if (staticVm.getVmInit() == null) {
staticVm.setVmInit(new VmInit());
}
staticVm.getVmInit().setDomain(model.getDomain().getName());
}
return staticVm;
}
Aggregations