Search in sources :

Example 26 with Bond

use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.

the class HostSetupNetworksValidatorTest method createBond.

private Bond createBond(String bondName, String networkName, Guid id) {
    Bond bond = new Bond();
    bond.setId(id);
    bond.setName(bondName);
    bond.setNetworkName(networkName);
    return bond;
}
Also used : CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) Bond(org.ovirt.engine.core.common.businessentities.network.Bond)

Example 27 with Bond

use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.

the class HostSetupNetworksValidatorTest method validateValidBondsForBondMode.

private void validateValidBondsForBondMode(boolean isValidForAllModes, boolean isVmNetwork, boolean isInSync, boolean isOverriddenConfiguration, BondMode bondMode) {
    String networkName = "network";
    String bondName = "bondName";
    Network network = createNetworkWithName(networkName);
    network.setVmNetwork(isVmNetwork);
    NetworkImplementationDetails networkImplementationDetails = new NetworkImplementationDetails(isInSync, true);
    Bond bond = createBond(bondName, networkName, null);
    bond.setBondOptions(bondMode.getConfigurationValue());
    bond.setNetworkImplementationDetails(networkImplementationDetails);
    NetworkAttachment networkAttachment = createNetworkAttachment(network, bond);
    networkAttachment.setOverrideConfiguration(isOverriddenConfiguration);
    HostSetupNetworksValidator validator = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addBonds(CreateOrUpdateBond.fromBond(bond))).addNetworks(network).addExistingInterfaces(bond).build();
    boolean expectValidValidationResult = isValidForAllModes || bondMode.isBondModeValidForVmNetwork();
    List<NetworkAttachment> attachmentsToConfigure = Collections.singletonList(networkAttachment);
    ValidationResult result = validator.validateBondModeVsNetworksAttachedToIt(attachmentsToConfigure);
    if (expectValidValidationResult) {
        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)));
    }
}
Also used : FindActiveVmsUsingNetwork(org.ovirt.engine.core.bll.network.FindActiveVmsUsingNetwork) Network(org.ovirt.engine.core.common.businessentities.network.Network) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) NetworkImplementationDetails(org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface.NetworkImplementationDetails) CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) Bond(org.ovirt.engine.core.common.businessentities.network.Bond) ValidationResult(org.ovirt.engine.core.bll.ValidationResult) NetworkAttachment(org.ovirt.engine.core.common.businessentities.network.NetworkAttachment)

Example 28 with Bond

use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.

the class HostSetupNetworksValidatorTest method testValidateModifiedBondSlavesWhenSlaveAlreadySlavesForDifferentBondButItsDetachedFromItAsAPartOfRequest.

@Test
public void testValidateModifiedBondSlavesWhenSlaveAlreadySlavesForDifferentBondButItsDetachedFromItAsAPartOfRequest() throws Exception {
    Bond bond = createBond("bond1");
    Bond differentBond = createBond("bond2");
    VdsNetworkInterface slaveA = createBondSlave(bond, "slaveA");
    VdsNetworkInterface slaveB = createBondSlave(differentBond, "slaveB");
    VdsNetworkInterface slaveC = createBondSlave(differentBond, "slaveC");
    VdsNetworkInterface slaveD = createBondSlave(differentBond, "slaveD");
    setBondSlaves(bond, slaveA, slaveB);
    setBondSlaves(differentBond, slaveC, slaveD);
    HostSetupNetworksValidator build = new HostSetupNetworksValidatorBuilder().setParams(new ParametersBuilder().addBonds(CreateOrUpdateBond.fromBond(bond), CreateOrUpdateBond.fromBond(differentBond))).addExistingInterfaces(bond, differentBond, slaveA, slaveB, slaveC, slaveD).build();
    doTestValidateModifiedBondSlaves(spy(build), ValidationResult.VALID, ValidationResult.VALID, isValid());
}
Also used : VdsNetworkInterface(org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface) CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) Bond(org.ovirt.engine.core.common.businessentities.network.Bond) Test(org.junit.Test)

Example 29 with Bond

use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.

the class NicLabelValidatorTest method labelBeingAttachedToValidBondExistingBondNotValid.

@Test
public void labelBeingAttachedToValidBondExistingBondNotValid() {
    Bond bond = new Bond("bond");
    bond.setSlaves(Collections.singletonList("slave1"));
    assertLabelBeingAttachedToValidBondFailed(createHostSetupNetworksParams(), bond);
}
Also used : CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) Bond(org.ovirt.engine.core.common.businessentities.network.Bond) Test(org.junit.Test)

Example 30 with Bond

use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.

the class HostSetupNetworksCommand method getExistingInterfacesAndNewlyCreatedBonds.

private List<VdsNetworkInterface> getExistingInterfacesAndNewlyCreatedBonds() {
    List<VdsNetworkInterface> nicsToConfigure = new ArrayList<>();
    nicsToConfigure.addAll(interfaceDao.getAllInterfacesForVds(getVdsId()));
    for (CreateOrUpdateBond createOrUpdateBond : getParameters().getCreateOrUpdateBonds()) {
        if (createOrUpdateBond.getId() == null) {
            Bond newBond = new Bond(createOrUpdateBond.getName());
            nicsToConfigure.add(newBond);
        }
    }
    return nicsToConfigure;
}
Also used : ArrayList(java.util.ArrayList) CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) VdsNetworkInterface(org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface) CreateOrUpdateBond(org.ovirt.engine.core.common.action.CreateOrUpdateBond) Bond(org.ovirt.engine.core.common.businessentities.network.Bond)

Aggregations

Bond (org.ovirt.engine.core.common.businessentities.network.Bond)34 CreateOrUpdateBond (org.ovirt.engine.core.common.action.CreateOrUpdateBond)24 VdsNetworkInterface (org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface)19 Test (org.junit.Test)11 NetworkAttachment (org.ovirt.engine.core.common.businessentities.network.NetworkAttachment)8 ArrayList (java.util.ArrayList)7 ValidationResult (org.ovirt.engine.core.bll.ValidationResult)5 FindActiveVmsUsingNetwork (org.ovirt.engine.core.bll.network.FindActiveVmsUsingNetwork)5 NicLabel (org.ovirt.engine.core.common.businessentities.network.NicLabel)5 List (java.util.List)4 HostNic (org.ovirt.engine.api.model.HostNic)4 HostSetupNetworksParameters (org.ovirt.engine.core.common.action.HostSetupNetworksParameters)4 Network (org.ovirt.engine.core.common.businessentities.network.Network)4 HashMap (java.util.HashMap)3 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)3 Nic (org.ovirt.engine.core.common.businessentities.network.Nic)3 Guid (org.ovirt.engine.core.compat.Guid)3 Bonding (org.ovirt.engine.api.model.Bonding)2 Vlan (org.ovirt.engine.core.common.businessentities.network.Vlan)2 EngineMessage (org.ovirt.engine.core.common.errors.EngineMessage)2