use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method createBondModels.
private Map<String, NetworkInterfaceModel> createBondModels(Map<String, Set<LogicalNetworkModel>> nicNameToNetworkModels, Map<String, List<VdsNetworkInterface>> bondNameToSlaves, Map<String, List<NetworkLabelModel>> nicNameToLabelModels, final Map<Guid, VdsNetworkInterface> nicsById) {
Map<String, NetworkInterfaceModel> bondModels = new HashMap<>();
for (CreateOrUpdateBond createOrUpdateBond : hostSetupNetworksParametersData.getBonds()) {
String bondName = createOrUpdateBond.getName();
List<NetworkInterfaceModel> slavesModels = createSlaveModels(bondNameToSlaves, nicsById, bondName);
Collection<LogicalNetworkModel> nicNetworks = nicNameToNetworkModels.get(bondName);
Bond originalBond = getOriginalBond(nicsById, createOrUpdateBond);
BondNetworkInterfaceModel bondNetworkInterfaceModel = new BondNetworkInterfaceModel(originalBond, createOrUpdateBond, nicNetworks, nicNameToLabelModels.get(createOrUpdateBond.getName()), slavesModels, this);
bondModels.put(bondName, bondNetworkInterfaceModel);
}
return bondModels;
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksValidatorTest method testValidateModifiedBondSlavesWhenSlaveAlreadySlavesForDifferentBond.
@Test
public void testValidateModifiedBondSlavesWhenSlaveAlreadySlavesForDifferentBond() throws Exception {
Bond bond = createBond("bond1");
Bond differentBond = createBond("bond2");
VdsNetworkInterface slaveA = createBondSlave(bond, "slaveA");
VdsNetworkInterface slaveB = createBondSlave(differentBond, "slaveB");
setBondSlaves(bond, slaveA, slaveB);
EngineMessage engineMessage = EngineMessage.NETWORK_INTERFACE_ALREADY_IN_BOND;
HostSetupNetworksValidator validator = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addBonds(CreateOrUpdateBond.fromBond(bond))).addExistingInterfaces(bond, differentBond, slaveA, slaveB).build();
doTestValidateModifiedBondSlaves(spy(validator), ValidationResult.VALID, ValidationResult.VALID, failsWith(engineMessage, ReplacementUtils.getVariableAssignmentString(engineMessage, slaveB.getName())));
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksValidatorTest method validateBondMode.
private void validateBondMode(boolean isVmNetwork, BondMode bondMode) {
String networkName = "networkName";
String bondName = "bondName";
Bond bond = createBond(bondName, networkName, null);
bond.setBondOptions(bondMode.getConfigurationValue());
Network network = createNetworkWithName(networkName);
network.setVmNetwork(isVmNetwork);
NetworkAttachment vmNetworkNetworkAttachment = createNetworkAttachment(network, bond);
HostSetupNetworksValidator validator = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addBonds(CreateOrUpdateBond.fromBond(bond))).addNetworks(network).addExistingInterfaces(bond).build();
List<NetworkAttachment> attachmentsToConfigure = Collections.singletonList(vmNetworkNetworkAttachment);
ValidationResult result = validator.validateBondModeVsNetworksAttachedToIt(attachmentsToConfigure);
if (!isVmNetwork || bondMode.isBondModeValidForVmNetwork()) {
collector.checkThat(result, isValid());
} else {
collector.checkThat(result, failsWith(EngineMessage.INVALID_BOND_MODE_FOR_BOND_WITH_VM_NETWORK, ReplacementUtils.createSetVariableString(HostSetupNetworksValidator.VAR_BOND_NAME, bondName), ReplacementUtils.createSetVariableString(HostSetupNetworksValidator.VAR_NETWORK_NAME, networkName)));
}
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksValidatorTest method testValidateModifiedBondSlavesWhenSlaveHasNetworkAssignedWhichIsNotRemovedAsAPartOfRequest.
@Test
public void testValidateModifiedBondSlavesWhenSlaveHasNetworkAssignedWhichIsNotRemovedAsAPartOfRequest() throws Exception {
Bond bond = createBond();
Network networkBeingRemoved = new Network();
networkBeingRemoved.setName("assignedNetwork");
VdsNetworkInterface slaveA = createBondSlave(bond, "slaveA");
slaveA.setNetworkName("assignedNetwork");
NetworkAttachment attachmentOfNetworkToSlaveA = createNetworkAttachment(networkBeingRemoved, slaveA);
VdsNetworkInterface slaveB = createBondSlave(bond, "slaveB");
setBondSlaves(bond, slaveA, slaveB);
EngineMessage engineMessage = EngineMessage.NETWORK_INTERFACE_ATTACHED_TO_NETWORK_CANNOT_BE_SLAVE;
final HostSetupNetworksValidator build = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addBonds(CreateOrUpdateBond.fromBond(bond))).addExistingInterfaces(bond, slaveA, slaveB).addExistingAttachments(attachmentOfNetworkToSlaveA).addNetworks(networkBeingRemoved).build();
doTestValidateModifiedBondSlaves(spy(build), ValidationResult.VALID, ValidationResult.VALID, failsWith(engineMessage, ReplacementUtils.getVariableAssignmentString(engineMessage, slaveA.getName()), ReplacementUtils.createSetVariableString(HostSetupNetworksValidator.VAR_NETWORK_NAME, networkBeingRemoved.getName())));
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksValidatorTest method testValidateModifiedBondSlavesWhenSlaveHasNetworkAssignedWhichIsRemovedAsAPartOfRequest.
@Test
public void testValidateModifiedBondSlavesWhenSlaveHasNetworkAssignedWhichIsRemovedAsAPartOfRequest() throws Exception {
Bond bond = createBond();
Network networkBeingRemoved = new Network();
networkBeingRemoved.setName("assignedNetwork");
VdsNetworkInterface slaveA = createBondSlave(bond, "slaveA");
slaveA.setNetworkName(networkBeingRemoved.getName());
VdsNetworkInterface slaveB = createBondSlave(bond, "slaveB");
NetworkAttachment removedNetworkAttachment = new NetworkAttachment();
removedNetworkAttachment.setId(Guid.newGuid());
removedNetworkAttachment.setNicName(slaveA.getName());
setBondSlaves(bond, slaveA, slaveB);
final HostSetupNetworksValidator validator = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addRemovedNetworkAttachments(removedNetworkAttachment)).addExistingInterfaces(bond, slaveA, slaveB).addExistingAttachments(removedNetworkAttachment).addNetworks(networkBeingRemoved).build();
doTestValidateModifiedBondSlaves(spy(validator), ValidationResult.VALID, ValidationResult.VALID, isValid());
}
Aggregations