Lior Vernia has uploaded a new change for review. Change subject: engine: Re-assign display/migration roles to mgmt network ......................................................................
engine: Re-assign display/migration roles to mgmt network While we recently started marking the management network explicitly as display and migration by default, we did not take care of the scenario where the roles are assigned to another network which is then removed - in which case we're left with no explicit display/migration network, and only fall back to the management network implicitly. Now when a network holding the role is removed, it is re-assigned to the management network. Change-Id: I1fe94bdfda672ddf51b075415a02a80ff634a90a Bug-Url: https://bugzilla.redhat.com/1135785 Signed-off-by: Lior Vernia <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java 1 file changed, 25 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/32253/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java index e5f7acc..8d89c8d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java @@ -15,9 +15,11 @@ import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; +import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.utils.NetworkUtils; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; @@ -25,6 +27,7 @@ public class DetachNetworkToVdsGroupCommand<T extends AttachNetworkToVdsGroupParameter> extends VdsGroupCommandBase<T> { private Network persistedNetwork; + private NetworkCluster managementNetworkCluster; public DetachNetworkToVdsGroupCommand(T parameters) { super(parameters); @@ -36,7 +39,19 @@ @Override public Void runInTransaction() { - getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), getParameters().getNetworkCluster().getNetworkId()); + NetworkCluster networkCluster = getParameters().getNetworkCluster(); + getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), networkCluster.getNetworkId()); + + if (networkCluster.isDisplay()) { + getManagementNetworkCluster().setDisplay(true); + } + if (networkCluster.isMigration()) { + getManagementNetworkCluster().setMigration(true); + } + if (managementNetworkCluster != null) { + getNetworkClusterDAO().update(managementNetworkCluster); + } + return null; } }); @@ -93,6 +108,15 @@ return persistedNetwork; } + private NetworkCluster getManagementNetworkCluster() { + if (managementNetworkCluster == null) { + Guid clusterId = getParameters().getVdsGroupId(); + Network mgmt = getNetworkDAO().getByNameAndCluster(NetworkUtils.getEngineNetwork(), clusterId); + managementNetworkCluster = getNetworkClusterDAO().get(new NetworkClusterId(clusterId, mgmt.getId())); + } + return managementNetworkCluster; + } + private void removeNetworkFromHosts() { NetworkHelper.removeNetworkFromHostsInCluster(getPersistedNetwork(), getParameters().getVdsGroupId(), -- To view, visit http://gerrit.ovirt.org/32253 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1fe94bdfda672ddf51b075415a02a80ff634a90a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
