Moti Asayag has uploaded a new change for review. Change subject: engine: Remove mgmt network setup from host activation ......................................................................
engine: Remove mgmt network setup from host activation The management network setup will be removed from the host activation flow. Configuring management network will be executed from host installation flow. Change-Id: If642cd5d52571ff29d50569c07de8ebd1bf3018c Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ActivateVdsCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java 3 files changed, 5 insertions(+), 119 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/00/15000/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ActivateVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ActivateVdsCommand.java index 20fbda3..8f81f60 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ActivateVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ActivateVdsCommand.java @@ -1,26 +1,17 @@ package org.ovirt.engine.core.bll; -import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.StringUtils; import org.ovirt.engine.core.bll.job.ExecutionHandler; import org.ovirt.engine.core.bll.network.cluster.NetworkClusterHelper; import org.ovirt.engine.core.common.AuditLogType; -import org.ovirt.engine.core.common.action.SetupNetworksParameters; 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.VDSStatus; import org.ovirt.engine.core.common.businessentities.network.Network; -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; import org.ovirt.engine.core.common.locks.LockingGroup; import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.common.vdscommands.ActivateVdsVDSCommandParameters; @@ -29,7 +20,6 @@ import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.VdcBllMessages; -import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.utils.lock.EngineLock; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; @@ -75,7 +65,6 @@ setSucceeded(returnValue.getSucceeded()); if (getSucceeded()) { - createManagementNetworkIfRequired((VDS) returnValue.getReturnValue()); TransactionSupport.executeInNewTransaction(new TransactionMethod<Void>() { @Override @@ -94,109 +83,6 @@ log.infoFormat("Activate finished. Lock released. Monitoring can run now for host {0} from data-center {1}", vds.getName(), vds.getStoragePoolName()); - } - } - - private void createManagementNetworkIfRequired(VDS host) { - if (host == null) { - return; - } - - VdsNetworkInterface nic = findNicToSetupManagementNetwork(host); - if (nic == null) { - return; - } - - List<VdsNetworkInterface> interfaces = filterBondsWithoutSlaves(host.getInterfaces()); - if (interfaces.contains(nic)) { - nic.setNetworkName(Config.<String> GetValue(ConfigValues.ManagementNetwork)); - SetupNetworksParameters parameters = new SetupNetworksParameters(); - parameters.setVdsId(host.getId()); - parameters.setInterfaces(interfaces); - parameters.setCheckConnectivity(true); - createAndPersistManagementNetwork(parameters); - } else { - addCustomValue("InterfaceName", nic.getName()); - AuditLogDirector.log(this, AuditLogType.INVALID_INTERFACE_FOR_MANAGEMENT_NETWORK_CONFIGURATION); - } - } - - private VdsNetworkInterface findNicToSetupManagementNetwork(final VDS host) { - Network managementNetwork = - getNetworkDAO().getByNameAndDataCenter(Config.<String> GetValue(ConfigValues.ManagementNetwork), - host.getStoragePoolId()); - - if (StringUtils.isEmpty(host.getActiveNic())) { - return null; - } - - Map<String, VdsNetworkInterface> nameToIface = Entities.entitiesByName(host.getInterfaces()); - VdsNetworkInterface nic = nameToIface.get(host.getActiveNic()); - - if (nic == null) { - return null; - } - - if (managementNetwork.getName().equals(nic.getNetworkName())) { - return null; - } - - if (!nicHasValidVlanId(managementNetwork, nic)) { - addCustomValue("VlanId", resolveVlanId(nic.getVlanId())); - addCustomValue("MgmtVlanId", resolveVlanId(managementNetwork.getVlanId())); - addCustomValue("InterfaceName", nic.getName()); - AuditLogDirector.log(this, AuditLogType.VLAN_ID_MISMATCH_FOR_MANAGEMENT_NETWORK_CONFIGURATION); - return null; - } - - return nic; - } - - private String resolveVlanId(Integer vlanId) { - return vlanId == null ? "none" : vlanId.toString(); - } - - private boolean nicHasValidVlanId(Network network, VdsNetworkInterface nic) { - int nicVlanId = nic.getVlanId() == null ? 0 : nic.getVlanId(); - int mgmtVlanId = network.getVlanId() == null ? 0 : network.getVlanId(); - return nicVlanId == mgmtVlanId; - } - - private List<VdsNetworkInterface> filterBondsWithoutSlaves(ArrayList<VdsNetworkInterface> interfaces) { - List<VdsNetworkInterface> filteredList = new ArrayList<VdsNetworkInterface>(); - Map<String, Integer> bonds = new HashMap<String, Integer>(); - - for (VdsNetworkInterface iface : interfaces) { - if (Boolean.TRUE.equals(iface.getBonded())) { - bonds.put(iface.getName(), 0); - } - } - - for (VdsNetworkInterface iface : interfaces) { - if (bonds.containsKey(iface.getBondName())) { - bonds.put(iface.getBondName(), bonds.get(iface.getBondName()) + 1); - } - } - - for (VdsNetworkInterface iface : interfaces) { - if (!bonds.containsKey(iface.getName()) || bonds.get(iface.getName()) >= 2) { - filteredList.add(iface); - } - } - - return filteredList; - } - - public void createAndPersistManagementNetwork(SetupNetworksParameters parameters) { - VdcReturnValueBase retVal = getBackend().runInternalAction(VdcActionType.SetupNetworks, parameters); - if (retVal.getSucceeded()) { - retVal = getBackend().runInternalAction(VdcActionType.CommitNetworkChanges, - new VdsActionParameters(parameters.getVdsId())); - if (!retVal.getSucceeded()) { - AuditLogDirector.log(this, AuditLogType.PERSIST_NETWORK_FAILED_FOR_MANAGEMENT_NETWORK); - } - } else { - AuditLogDirector.log(this, AuditLogType.SETUP_NETWORK_FAILED_FOR_MANAGEMENT_NETWORK_CONFIGURATION); } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index c8c5689..e2db5f5 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -394,7 +394,7 @@ /** * refresh capabilities */ - VDSStatus newStatus = refreshCapabilities(new AtomicBoolean(), vds, true); + VDSStatus newStatus = refreshCapabilities(new AtomicBoolean(), vds); if (log.isDebugEnabled()) { log.debugFormat( "Succeeded to refreshCapabilities for host {0} , new status will be {1} ", @@ -524,7 +524,7 @@ ResourceManager.getInstance().SuccededToRunVm(vmId, _vds.getId()); } - public VDSStatus refreshCapabilities(AtomicBoolean processHardwareCapsNeeded, VDS vds, boolean skipMgmtNet) { + public VDSStatus refreshCapabilities(AtomicBoolean processHardwareCapsNeeded, VDS vds) { log.debug("GetCapabilitiesVDSCommand started method"); VDS oldVDS = vds.clone(); GetCapabilitiesVDSCommand<VdsIdAndVdsVDSCommandParametersBase> vdsBrokerCommand = @@ -550,7 +550,7 @@ VDSStatus returnStatus = vds.getStatus(); NonOperationalReason nonOperationalReason = - CollectVdsNetworkDataVDSCommand.persistAndEnforceNetworkCompliance(vds, skipMgmtNet); + CollectVdsNetworkDataVDSCommand.persistAndEnforceNetworkCompliance(vds, false); if (nonOperationalReason != NonOperationalReason.NONE) { setIsSetNonOperationalExecuted(true); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java index d2567f1..7a22e6b 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java @@ -524,7 +524,7 @@ // refresh dynamic data final AtomicBoolean processHardwareNeededAtomic = new AtomicBoolean(); VDSStatus refreshReturnStatus = - _vdsManager.refreshCapabilities(processHardwareNeededAtomic, _vds, false); + _vdsManager.refreshCapabilities(processHardwareNeededAtomic, _vds); processHardwareCapsNeeded = processHardwareNeededAtomic.get(); refreshedCapabilities = true; if (refreshReturnStatus != VDSStatus.NonOperational) { @@ -920,7 +920,7 @@ if (_vdsManager.getbeforeFirstRefresh()) { boolean flagsChanged = false; final AtomicBoolean processHardwareCapsNeededTemp = new AtomicBoolean(); - _vdsManager.refreshCapabilities(processHardwareCapsNeededTemp, _vds, false); + _vdsManager.refreshCapabilities(processHardwareCapsNeededTemp, _vds); flagsChanged = processHardwareCapsNeededTemp.get(); _vdsManager.setbeforeFirstRefresh(false); refreshedCapabilities = true; -- To view, visit http://gerrit.ovirt.org/15000 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If642cd5d52571ff29d50569c07de8ebd1bf3018c 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
