Moti Asayag has uploaded a new change for review. Change subject: engine: Configure network on install with network attachments ......................................................................
engine: Configure network on install with network attachments The host installation flow changed the network configuration from the deprecated setupnetworks command to the new setup networks which uses network attachments. Change-Id: I0bdf4ddec4be8ded779e6f5f711b90099dce4054 Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java 1 file changed, 37 insertions(+), 19 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/34972/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java index 655e845..aee5b27 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/NetworkConfigurator.java @@ -12,13 +12,15 @@ import org.ovirt.engine.core.bll.interfaces.BackendInternal; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.FeatureSupported; -import org.ovirt.engine.core.common.action.SetupNetworksParameters; +import org.ovirt.engine.core.common.action.HostSetupNetworksParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.action.VdsActionParameters; import org.ovirt.engine.core.common.businessentities.Entities; import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.network.IpConfiguration; import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.common.businessentities.network.NetworkAttachment; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; @@ -45,6 +47,7 @@ private static final long POLLING_BREAK_IN_MILLIS = 500; private static final Logger log = LoggerFactory.getLogger(NetworkConfigurator.class); private final VDS host; + private Network managementNetwork; private CommandContext commandContext; public NetworkConfigurator(VDS host, CommandContext commandContext) { @@ -53,15 +56,15 @@ } public void createManagementNetworkIfRequired() { - final String managementNetwork = NetworkUtils.getEngineNetwork(); + final String managementNetworkName = getManagementNetwork().getName(); if (host == null) { return; } - if (managementNetwork.equals(host.getActiveNic())) { + if (managementNetworkName.equals(host.getActiveNic())) { log.info("The management network '{}' is already configured on host '{}'", - managementNetwork, + managementNetworkName, host.getName()); return; } @@ -78,8 +81,7 @@ List<VdsNetworkInterface> interfaces = filterBondsWithoutSlaves(host.getInterfaces()); if (interfaces.contains(nic)) { - nic.setNetworkName(managementNetwork); - configureManagementNetwork(createSetupNetworkParams(interfaces)); + configureManagementNetwork(createSetupNetworkParams(nic)); } else { final AuditLogableBase event = createEvent(); event.addCustomValue("InterfaceName", nic.getName()); @@ -144,10 +146,18 @@ }); } - public SetupNetworksParameters createSetupNetworkParams(List<VdsNetworkInterface> interfaces) { - SetupNetworksParameters parameters = new SetupNetworksParameters(); - parameters.setVdsId(host.getId()); - parameters.setInterfaces(interfaces); + public HostSetupNetworksParameters createSetupNetworkParams(VdsNetworkInterface nic) { + HostSetupNetworksParameters parameters = new HostSetupNetworksParameters(host.getId()); + NetworkAttachment managementAttachment = new NetworkAttachment(); + managementAttachment.setNetworkId(getManagementNetwork().getId()); + managementAttachment.setNicId(nic.getId()); + IpConfiguration ipConfiguration = new IpConfiguration(); + ipConfiguration.setAddress(nic.getAddress()); + ipConfiguration.setNetmask(nic.getSubnet()); + ipConfiguration.setGateway(nic.getGateway()); + ipConfiguration.setBootProtocol(nic.getBootProtocol()); + managementAttachment.setIpConfiguration(ipConfiguration); + parameters.getNetworkAttachments().add(managementAttachment); parameters.setCheckConnectivity(true); return parameters; } @@ -172,18 +182,14 @@ host.getActiveNic())); } - Network managementNetwork = - getDbFacade().getNetworkDao() - .getByNameAndDataCenter(NetworkUtils.getEngineNetwork(), host.getStoragePoolId()); - - if (managementNetwork.getName().equals(nic.getNetworkName())) { + if (getManagementNetwork().getName().equals(nic.getNetworkName())) { return null; } - if (!nicHasValidVlanId(managementNetwork, nic)) { + if (!nicHasValidVlanId(getManagementNetwork(), nic)) { final AuditLogableBase event = createEvent(); event.addCustomValue("VlanId", resolveVlanId(nic.getVlanId())); - event.addCustomValue("MgmtVlanId", resolveVlanId(managementNetwork.getVlanId())); + event.addCustomValue("MgmtVlanId", resolveVlanId(getManagementNetwork().getVlanId())); event.addCustomValue("InterfaceName", nic.getName()); AuditLogDirector.log(event, AuditLogType.VLAN_ID_MISMATCH_FOR_MANAGEMENT_NETWORK_CONFIGURATION, @@ -235,9 +241,11 @@ return filteredList; } - private void configureManagementNetwork(SetupNetworksParameters parameters) { + private void configureManagementNetwork(HostSetupNetworksParameters parameters) { VdcReturnValueBase retVal = - getBackend().runInternalAction(VdcActionType.SetupNetworks, parameters, cloneContextAndDetachFromParent()); + getBackend().runInternalAction(VdcActionType.HostSetupNetworks, + parameters, + cloneContextAndDetachFromParent()); if (retVal.getSucceeded()) { retVal = getBackend().runInternalAction(VdcActionType.CommitNetworkChanges, @@ -256,6 +264,16 @@ } } + private Network getManagementNetwork() { + if (managementNetwork == null) { + managementNetwork = + getDbFacade().getNetworkDao().getByNameAndDataCenter(NetworkUtils.getEngineNetwork(), + host.getStoragePoolId()); + } + + return managementNetwork; + } + private BackendInternal getBackend() { return Backend.getInstance(); } -- To view, visit http://gerrit.ovirt.org/34972 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0bdf4ddec4be8ded779e6f5f711b90099dce4054 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
