use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostSetupNetworksValidator method validateBondModeVsNetworksAttachedToIt.
protected ValidationResult validateBondModeVsNetworksAttachedToIt(Collection<NetworkAttachment> attachmentsToConfigure) {
Map<String, VdsNetworkInterface> hostInterfacesByNetworkName = NetworkUtils.hostInterfacesByNetworkName(existingInterfaces);
for (NetworkAttachment attachment : attachmentsToConfigure) {
if (!mustAttachementBeCheckedForBondMode(attachment, hostInterfacesByNetworkName)) {
continue;
}
CreateOrUpdateBond bondToCheck = createOrUpdateBondBusinessEntityMap.get(attachment.getNicName());
if (bondToCheck == null) {
VdsNetworkInterface existingNetworkInterfaceForAttachement = existingInterfacesMap.get(attachment.getNicName());
if (existingNetworkInterfaceForAttachement == null || !existingNetworkInterfaceForAttachement.isBond()) {
continue;
}
bondToCheck = CreateOrUpdateBond.fromBond((Bond) existingNetworkInterfaceForAttachement);
}
String networkLabel = networkBusinessEntityMap.get(attachment.getNetworkName()).getLabel();
ValidationResult validationResult = checkBondMode(bondToCheck, networkLabel, attachment.getNetworkName());
if (!validationResult.isValid()) {
return validationResult;
}
}
return ValidationResult.VALID;
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class NetworkCommonUtils method getBondsWithSlavesInformation.
public static Collection<VdsNetworkInterface> getBondsWithSlavesInformation(Collection<? extends VdsNetworkInterface> nics) {
List<VdsNetworkInterface> bonds = new ArrayList<>();
fillBondSlaves(nics);
for (VdsNetworkInterface nic : nics) {
if (nic instanceof Bond) {
bonds.add(nic);
}
}
return bonds;
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class HostNetworkInterfaceBondedListViewItem method createBondTooltipMessage.
private SafeHtml createBondTooltipMessage(HostInterfaceLineModel lineModel, InterfaceStatus interfaceStatus) {
Bond bond = (Bond) lineModel.getInterface();
StringBuilder bondProperties = new StringBuilder(messages.bondStatus(interfaceStatus.toString()));
boolean isBond4 = BondMode.BOND4.equals(BondMode.parseBondMode(bond.getBondOptions()));
if (InterfaceStatus.UP.equals(interfaceStatus) && isBond4) {
// $NON-NLS-1$
bondProperties.append("\n").append(createActiveBondTooltipMessage(bond, lineModel));
}
if ((bond.getActiveSlave() != null) && (bond.getActiveSlave().length() > 0)) {
// $NON-NLS-1$
bondProperties.append("\n").append(messages.bondActiveSlave(bond.getActiveSlave()));
}
return new SafeHtmlBuilder().appendEscapedLines(bondProperties.toString()).toSafeHtml();
}
use of org.ovirt.engine.core.common.businessentities.network.Bond in project ovirt-engine by oVirt.
the class BackendHostResource method toParameters.
private HostSetupNetworksParameters toParameters(Action action) {
HostSetupNetworksParameters parameters = new HostSetupNetworksParameters(guid);
Map<Guid, NetworkAttachment> attachmentsById = getBackendNetworkAttachments();
if (action.isSetModifiedNetworkAttachments()) {
for (org.ovirt.engine.api.model.NetworkAttachment model : action.getModifiedNetworkAttachments().getNetworkAttachments()) {
NetworkAttachment attachment = mapNetworkAttachment(attachmentsById, model);
parameters.getNetworkAttachments().add(attachment);
}
}
if (action.isSetSynchronizedNetworkAttachments()) {
Map<Guid, NetworkAttachment> networkAttachmentFromParams = Entities.businessEntitiesById(parameters.getNetworkAttachments());
for (org.ovirt.engine.api.model.NetworkAttachment model : action.getSynchronizedNetworkAttachments().getNetworkAttachments()) {
if (model.isSetId()) {
Guid networkAttachmentId = asGuid(model.getId());
if (networkAttachmentFromParams.containsKey(networkAttachmentId)) {
networkAttachmentFromParams.get(networkAttachmentId).setOverrideConfiguration(true);
} else if (attachmentsById.containsKey(networkAttachmentId)) {
NetworkAttachment networkAttachment = attachmentsById.get(networkAttachmentId);
networkAttachment.setOverrideConfiguration(true);
parameters.getNetworkAttachments().add(networkAttachment);
} else {
return handleError(new EntityNotFoundException("NetworkAttachment.id: " + model.getId()), true);
}
}
}
}
if (action.isSetModifiedLabels()) {
for (NetworkLabel label : action.getModifiedLabels().getNetworkLabels()) {
NicLabel nicLabel = new NicLabel();
nicLabel.setLabel(label.getId());
if (label.isSetHostNic()) {
nicLabel.setNicId(label.getHostNic().isSetId() ? asGuid(label.getHostNic().getId()) : null);
nicLabel.setNicName(label.getHostNic().getName());
}
parameters.getLabels().add(nicLabel);
}
}
if (action.isSetRemovedLabels()) {
for (NetworkLabel label : action.getRemovedLabels().getNetworkLabels()) {
parameters.getRemovedLabels().add(label.getId());
}
}
if (action.isSetRemovedNetworkAttachments()) {
for (org.ovirt.engine.api.model.NetworkAttachment model : action.getRemovedNetworkAttachments().getNetworkAttachments()) {
NetworkAttachment attachment = mapNetworkAttachment(attachmentsById, model);
parameters.getRemovedNetworkAttachments().add(attachment.getId());
}
}
BusinessEntityMap<Bond> bonds = getBackendHostBonds();
if (action.isSetModifiedBonds()) {
BusinessEntityMap<VdsNetworkInterface> nicsFromBackend = getBackendNics();
for (HostNic bond : action.getModifiedBonds().getHostNics()) {
completeSlaveNames(nicsFromBackend, bond);
parameters.getCreateOrUpdateBonds().add(mapBonds(bonds, bond));
}
}
if (action.isSetRemovedBonds()) {
for (HostNic bond : action.getRemovedBonds().getHostNics()) {
parameters.getRemovedBonds().add(mapBonds(bonds, bond).getId());
}
}
if (action.isSetCheckConnectivity()) {
parameters.setRollbackOnFailure(action.isCheckConnectivity());
}
if (action.isSetConnectivityTimeout()) {
parameters.setConectivityTimeout(action.getConnectivityTimeout());
}
return parameters;
}
Aggregations