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; } }
model.setBonding(new Bonding()); model.getBonding().setOptions(new Options()); for(String opt : entity.getBondOptions().split(OPTIONS_DELIMITER)){ String[] option_pair = opt.split(OPTIONS_EQ); option.setValue(option_pair[1]); option.setType(getType(option_pair)); model.getBonding().getOptions().getOptions().add(option); model.getBonding().setAdPartnerMac(new Mac()); model.getBonding().getAdPartnerMac().setAddress(entity.getAdPartnerMac());
@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; }
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); } } } }
/** * Create an instance of {@link Bonding } * */ public Bonding createBonding() { return new Bonding(); }
protected HostNic addActiveSlaveLink(HostNic nic, VdsNetworkInterface iface, List<VdsNetworkInterface> ifaces) { if (iface instanceof Bond) { Bond bond = (Bond) iface; if(nic.getBonding() == null) { nic.setBonding(new Bonding()); } for (VdsNetworkInterface i : ifaces) { if (i.getName().equals(bond.getActiveSlave())) { nic.getBonding().setActiveSlave(slave(i.getId().toString())); break; } } } return nic; }
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()); }
if (model.getBonding().isSetOptions()) { List<Option> bondingOptions = model.getBonding().getOptions().getOptions(); String optionsString = bondingOptions.stream() .filter(Option::isSetName)
private static String calculateBondingOptionsString(HostNic model) { List<Option> bondingOptions = model.getBonding().getOptions().getOptions(); if (bondingOptions.isEmpty()) { return ""; } StringBuilder builder = new StringBuilder(); appendBondingOption(builder, bondingOptions.get(0)); for(int i = 1; i < bondingOptions.size(); i++) { builder.append(" "); appendBondingOption(builder, bondingOptions.get(i)); } return builder.toString(); }
assertThat(model.getMac().getAddress(), IsEqualIgnoringCase.equalToIgnoringCase(transform.getMac().getAddress())); assertNotNull(model.getBonding()); assertEquals(model.getBonding().getOptions().getOptions().size(), transform.getBonding() .getOptions() .getOptions() .size()); for (int i = 0; i < model.getBonding().getOptions().getOptions().size(); i++) { assertEquals(model.getBonding().getOptions().getOptions().get(i).getName(), transform.getBonding() .getOptions() .getOptions() .get(i) .getName()); assertEquals(model.getBonding().getOptions().getOptions().get(i).getValue(), transform.getBonding() .getOptions() .getOptions() .get(i)
@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"); }
@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())); } }