protected HostNic addSlaveLinks(HostNic nic, List<VdsNetworkInterface> ifaces) { if(nic.getBonding() == null) { nic.setBonding(new Bonding()); } nic.getBonding().setSlaves(new HostNics()); for (VdsNetworkInterface i : ifaces) { if (i.isPartOfBond(nic.getName())) { nic.getBonding().getSlaves().getHostNics().add(slave(i.getId().toString())); } } return nic; }
@Override public Bonding adapt(V3Bonding from) { Bonding to = new Bonding(); if (from.isSetOptions()) { to.setOptions(new Options()); to.getOptions().getOptions().addAll(adaptIn(from.getOptions().getOptions())); } if (from.isSetSlaves()) { to.setSlaves(new HostNics()); to.getSlaves().getHostNics().addAll(adaptIn(from.getSlaves().getSlaves())); } return to; } }
@Override public V3Bonding adapt(Bonding from) { V3Bonding to = new V3Bonding(); if (from.isSetOptions()) { to.setOptions(new V3Options()); to.getOptions().getOptions().addAll(adaptOut(from.getOptions().getOptions())); } if (from.isSetSlaves()) { to.setSlaves(new V3Slaves()); to.getSlaves().getSlaves().addAll(adaptOut(from.getSlaves().getHostNics())); } return to; } }
protected void verifyMaster(HostNic model) { assertEquals(MASTER_GUID.toString(), model.getId()); assertEquals(MASTER_NAME, model.getName()); assertNotNull(model.getNetwork()); assertEquals(NETWORK_NAME, model.getNetwork().getName()); assertNotNull(model.getBonding()); assertNotNull(model.getBonding().getSlaves()); assertEquals(1, model.getBonding().getSlaves().getHostNics().size()); assertEquals(SLAVE_GUID.toString(), model.getBonding().getSlaves().getHostNics().get(0).getId()); assertNotNull(model.getBonding().getSlaves().getHostNics().get(0).getHref()); }
private void completeSlaveNames(BusinessEntityMap<VdsNetworkInterface> nicsFromBackend, HostNic bond) { if (bond.isSetBonding() && bond.getBonding().isSetSlaves()) { for (HostNic slave : bond.getBonding().getSlaves().getHostNics()) { if (!slave.isSetName() && slave.isSetId()){ Guid slaveId = new Guid(slave.getId()); String slaveNameFromBackend = nicsFromBackend.get(slaveId).getName(); slave.setName(slaveNameFromBackend); } } } }
@Test public void testCompleteListSubFields() { HostNic bond = new HostNic(); bond.setName("joe"); bond.setNetwork(new Network()); bond.getNetwork().setId("0"); bond.setBonding(new Bonding()); bond.getBonding().setSlaves(new HostNics()); HostNic slave = new HostNic(); slave.setId("0"); bond.getBonding().getSlaves().getHostNics().add(slave); slave = new HostNic(); slave.setId("0"); bond.getBonding().getSlaves().getHostNics().add(slave); CompletenessAssertor.validateParameters(bond, "name", "network.id|name", "bonding.slaves.id|name"); }
@Mapping(from = HostNic.class, to = Bond.class) public static Bond map(HostNic model, Bond template) { Bond entity = template == null ? new Bond() : template; if (model.isSetId()) { entity.setId(GuidUtils.asGuid(model.getId())); } if (model.isSetName()) { entity.setName(model.getName()); } if (model.isSetBonding()) { entity.setBonded(true); if (model.getBonding().isSetSlaves()) { entity.getSlaves().clear(); for (HostNic slave : model.getBonding().getSlaves().getHostNics()) { if (slave.isSetName()) { entity.getSlaves().add(slave.getName()); } } } if (model.getBonding().isSetOptions()) { entity.setBondOptions(calculateBondingOptionsString(model)); } } if (model.isSetQos()) { entity.setQos((HostNetworkQos) QosMapper.map(model.getQos(), null)); } return entity; }
@Test public void testBondMapping() { HostNic model = new HostNic(); model.setId(Guid.newGuid().toString()); model.setName(RandomUtils.instance().nextString(10)); model.setBonding(new Bonding()); model.getBonding().setSlaves(new HostNics()); HostNic slaveA = new HostNic(); slaveA.setName(RandomUtils.instance().nextString(10)); model.getBonding().getSlaves().getHostNics().add(slaveA); Bond entity = HostNicMapper.map(model, null); assertNotNull(entity); assertEquals(model.getId(), entity.getId().toString()); assertEquals(model.getName(), entity.getName()); assertEquals(model.getBonding().getSlaves().getHostNics().size(), entity.getSlaves().size()); for (HostNic slave : model.getBonding().getSlaves().getHostNics()) { assertTrue(entity.getSlaves().contains(slave.getName())); } }