use of org.ovirt.engine.core.common.businessentities.network.NetworkAttachment in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method createHostSetupNetworksParameters.
public HostSetupNetworksParameters createHostSetupNetworksParameters() {
HostSetupNetworksParameters result = new HostSetupNetworksParameters(getEntity().getId());
for (NetworkAttachment attachment : hostSetupNetworksParametersData.getNetworkAttachments()) {
attachment.setOverrideConfiguration(shouldSyncNetwork(attachment.getNetworkName()));
}
result.setNetworkAttachments(new ArrayList<NetworkAttachment>(hostSetupNetworksParametersData.getNetworkAttachments()));
result.setRemovedNetworkAttachments(hostSetupNetworksParametersData.getRemovedNetworkAttachments());
result.setCreateOrUpdateBonds(new ArrayList<CreateOrUpdateBond>(hostSetupNetworksParametersData.getBonds()));
result.setRemovedBonds(new HashSet<>(hostSetupNetworksParametersData.getRemovedBonds()));
result.setRemovedUnmanagedNetworks(hostSetupNetworksParametersData.getRemovedUnmanagedNetworks());
result.setLabels(hostSetupNetworksParametersData.getLabels());
result.setRemovedLabels(hostSetupNetworksParametersData.getRemovedLabels());
return result;
}
use of org.ovirt.engine.core.common.businessentities.network.NetworkAttachment in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method initNetworkModels.
private void initNetworkModels() {
Map<String, LogicalNetworkModel> networkModels = new HashMap<>();
Map<Guid, NetworkAttachment> networkAttachmentByNetworkId = mapNetworkAttachmentsByNetworkId();
for (Network network : allNetworks) {
NetworkAttachment attachment = networkAttachmentByNetworkId.get(network.getId());
LogicalNetworkModel networkModel = new LogicalNetworkModel(network, attachment, this);
networkModels.put(network.getName(), networkModel);
if (networkModel.isManagement()) {
managementNetworkModel = networkModel;
}
if (!network.isExternal()) {
String label = network.getLabel();
if (label != null) {
// The network model is candidate to be drawn as part of the label.
// This doesn't yet consider whether it actually exists on the interface.
networkLabelModelByLabel.get(label).getNetworks().add(networkModel);
}
}
}
setNetworks(networkModels);
}
use of org.ovirt.engine.core.common.businessentities.network.NetworkAttachment in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method onEdit.
public void onEdit(NetworkItemModel<?> item) {
Model editPopup = null;
BaseCommandTarget okTarget = null;
if (item instanceof BondNetworkInterfaceModel) {
/**
***************
* Bond Dialog
****************
*/
boolean doesBondHaveVmNetworkAttached = doesBondHaveVmNetworkAttached((NetworkInterfaceModel) item);
BondNetworkInterfaceModel bondModel = (BondNetworkInterfaceModel) item;
final CreateOrUpdateBond createOrUpdateBondParameter = bondModel.getCreateOrUpdateBond();
editPopup = new SetupNetworksEditBondModel(createOrUpdateBondParameter, doesBondHaveVmNetworkAttached);
final SetupNetworksBondModel bondDialogModel = (SetupNetworksBondModel) editPopup;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
if (!bondDialogModel.validate()) {
return;
}
sourceListModel.setConfirmWindow(null);
setBondOptions(createOrUpdateBondParameter, bondDialogModel);
redraw();
}
};
} else if (item instanceof NetworkInterfaceModel) {
/**
*****************
* VFs Config Dialog
******************
*/
final VdsNetworkInterface entity = ((NetworkInterfaceModel) item).getOriginalIface();
final HostNicVfsConfig hostNicVfsConfig = nicToVfsConfig.get(entity.getId());
if (hostNicVfsConfig != null) {
final VfsConfigModel vfsConfigPopupModel = new VfsConfigModel(hostNicVfsConfig, allNetworks, dcLabels);
vfsConfigPopupModel.setTitle(ConstantsManager.getInstance().getMessages().editHostNicVfsConfigTitle(entity.getName()));
editPopup = vfsConfigPopupModel;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand uiCommand) {
if (!vfsConfigPopupModel.validate()) {
return;
}
sourceListModel.setConfirmWindow(null);
commitVfsConfigChanges(hostNicVfsConfig, vfsConfigPopupModel);
redraw();
}
};
}
} else if (item instanceof LogicalNetworkModel) {
/**
***************
* Network Dialog
****************
*/
final LogicalNetworkModel logicalNetworkModel = (LogicalNetworkModel) item;
final VdsNetworkInterface nic;
if (logicalNetworkModel.isInSync()) {
nic = logicalNetworkModel.hasVlan() ? logicalNetworkModel.getVlanDevice() : logicalNetworkModel.getAttachedToNic().getOriginalIface();
} else {
nic = logicalNetworkModel.getVlanDevice() != null ? logicalNetworkModel.getVlanDevice() : logicalNetworkModel.getAttachedToNic().getOriginalIface();
}
final NetworkAttachmentModel networkAttachmentModel;
String version = getEntity().getClusterCompatibilityVersion().getValue();
final Network network = logicalNetworkModel.getNetwork();
final String logicalNetworkModelName = network.getName();
final NetworkAttachment networkAttachment = logicalNetworkModel.getNetworkAttachment();
HostNetworkQos networkQos = qosById.get(network.getQosId());
DnsResolverConfiguration reportedDnsResolverConfiguration = getEntity().getReportedDnsResolverConfiguration();
if (logicalNetworkModel.isManagement()) {
networkAttachmentModel = new ManagementNetworkAttachmentModel(network, nic, networkAttachment, networkQos, reportedDnsResolverConfiguration);
} else {
networkAttachmentModel = new NetworkAttachmentModel(network, nic, networkAttachment, networkQos, reportedDnsResolverConfiguration);
networkAttachmentModel.getIpv4Gateway().setIsAvailable(true);
networkAttachmentModel.getIpv6Gateway().setIsAvailable(false);
}
networkAttachmentModel.getQosOverridden().setIsAvailable(true);
networkAttachmentModel.getQosModel().setIsAvailable(true);
KeyValueModel customPropertiesModel = networkAttachmentModel.getCustomPropertiesModel();
customPropertiesModel.setIsAvailable(true);
Map<String, String> validProperties = KeyValueModel.convertProperties((String) AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigValues.PreDefinedNetworkCustomProperties, version));
// to backend and frontend (lvernia)
if (!network.isVmNetwork()) {
// $NON-NLS-1$
validProperties.remove("bridge_opts");
}
validProperties.putAll(KeyValueModel.convertProperties((String) AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigValues.UserDefinedNetworkCustomProperties, version)));
customPropertiesModel.setKeyValueMap(validProperties);
customPropertiesModel.deserialize(KeyValueModel.convertProperties(networkAttachment.getProperties()));
networkAttachmentModel.getIsToSync().setIsChangeable(!logicalNetworkModel.isInSync());
networkAttachmentModel.getIsToSync().setEntity(shouldSyncNetwork(logicalNetworkModelName));
networkAttachmentModel.getQosOverridden().setEntity(networkAttachment.isQosOverridden());
editPopup = networkAttachmentModel;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
if (!networkAttachmentModel.validate()) {
return;
}
final FromNetworkAttachmentModel interfacePropertiesAccessor = new FromNetworkAttachmentModel(networkAttachmentModel);
LogicalNetworkModelParametersHelper.populateIpv4Details(interfacePropertiesAccessor, networkAttachment.getIpConfiguration().getIpv4PrimaryAddress());
LogicalNetworkModelParametersHelper.populateIpv6Details(interfacePropertiesAccessor, networkAttachment.getIpConfiguration().getIpv6PrimaryAddress());
if (networkAttachmentModel.getQosModel().getIsAvailable()) {
if (networkAttachmentModel.getQosOverridden().getEntity()) {
HostNetworkQos overriddenQos = new HostNetworkQos();
networkAttachmentModel.getQosModel().flush(overriddenQos);
AnonymousHostNetworkQos hostNetworkQos = fromHostNetworkQos(overriddenQos);
networkAttachment.setHostNetworkQos(hostNetworkQos);
} else {
networkAttachment.setHostNetworkQos(null);
}
}
if (networkAttachmentModel.getIsToSync().getEntity()) {
hostSetupNetworksParametersData.getNetworksToSync().add(logicalNetworkModelName);
} else {
hostSetupNetworksParametersData.getNetworksToSync().remove(logicalNetworkModelName);
}
boolean customPropertiesAvailable = networkAttachmentModel.getCustomPropertiesModel().getIsAvailable();
Map<String, String> customProperties = customPropertiesAvailable ? KeyValueModel.convertProperties(networkAttachmentModel.getCustomPropertiesModel().serialize()) : null;
networkAttachment.setProperties(customProperties);
networkAttachment.setDnsResolverConfiguration(networkAttachmentModel.getDnsConfigurationModel().flush());
sourceListModel.setConfirmWindow(null);
redraw();
}
};
}
// ok command
// $NON-NLS-1$
UICommand okCommand = UICommand.createDefaultOkUiCommand("OK", okTarget);
// cancel command
UICommand cancelCommand = new UICommand("Cancel", new // $NON-NLS-1$
BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
sourceListModel.setConfirmWindow(null);
}
});
cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().cancel());
cancelCommand.setIsCancel(true);
if (editPopup != null) {
editPopup.getCommands().add(okCommand);
editPopup.getCommands().add(cancelCommand);
}
sourceListModel.setConfirmWindow(editPopup);
}
use of org.ovirt.engine.core.common.businessentities.network.NetworkAttachment in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method createNicNameToNetworkModels.
private Map<String, Set<LogicalNetworkModel>> createNicNameToNetworkModels() {
Map<String, Set<LogicalNetworkModel>> nicToNetworks = new HashMap<>();
for (NetworkAttachment networkAttachment : hostSetupNetworksParametersData.getNetworkAttachments()) {
String nicName = networkAttachment.getNicName();
if (!nicToNetworks.containsKey(nicName)) {
nicToNetworks.put(nicName, new HashSet<LogicalNetworkModel>());
}
LogicalNetworkModel networkModel = networkModelByName.get(networkAttachment.getNetworkName());
// $NON-NLS-1$
assert networkModel != null : "network on an attachment should have a logical model";
setVlanDeviceOnNetworkModelIfNeeded(nicName, networkModel);
nicToNetworks.get(nicName).add(networkModel);
}
createModelsForUnamangedNetworks(nicToNetworks);
return nicToNetworks;
}
use of org.ovirt.engine.core.common.businessentities.network.NetworkAttachment in project ovirt-engine by oVirt.
the class LogicalNetworkModelParametersHelper method storeAttachmentParamsBeforeDetach.
private void storeAttachmentParamsBeforeDetach() {
NetworkAttachment networkAttachment = networkModel.getNetworkAttachment();
if (networkAttachment == null) {
return;
}
NetworkParameters netParams = new NetworkParameters();
IPv4Address ipv4Address = networkAttachment.getIpConfiguration().getIpv4PrimaryAddress();
if (ipv4Address != null) {
netParams.setIpv4BootProtocol(ipv4Address.getBootProtocol());
netParams.setIpv4Address(ipv4Address.getAddress());
netParams.setIpv4Netmask(ipv4Address.getNetmask());
netParams.setIpv4Gateway(ipv4Address.getGateway());
}
IpV6Address ipv6Address = networkAttachment.getIpConfiguration().getIpv6PrimaryAddress();
if (ipv6Address != null) {
netParams.setIpv6BootProtocol(ipv6Address.getBootProtocol());
netParams.setIpv6Address(ipv6Address.getAddress());
netParams.setIpv6Prefix(ipv6Address.getPrefix());
netParams.setIpv6Gateway(ipv6Address.getGateway());
}
netParams.setHostNetworkQos(HostNetworkQos.fromAnonymousHostNetworkQos(networkAttachment.getHostNetworkQos()));
netParams.setQosOverridden(networkAttachment.isQosOverridden());
netParams.setCustomProperties(networkAttachment.getProperties());
netParams.setDnsResolverConfiguration(networkAttachment.getDnsResolverConfiguration());
networkModel.getSetupModel().getNetworkToLastDetachParams().put(networkModel.getName(), netParams);
}
Aggregations