Moti Asayag has uploaded a new change for review. Change subject: engine: Rely on engine entities ......................................................................
engine: Rely on engine entities The attach/detach networks to/from clusters commands rely on entities provided by the clients, although the entity could have other values than in the engine db. In order to avoid such a discrepancy, the networks are being retrieved internally. Change-Id: I62f05855c09e5fdee862d18dcce59c343baeafa9 Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java 2 files changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/23029/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java index 6959b9e..d10ef44 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java @@ -85,7 +85,7 @@ } }); - if (!getNetwork().isExternal() && getNetwork().getLabel() != null + if (!getPersistedNetwork().isExternal() && getPersistedNetwork().getLabel() != null && NetworkHelper.setupNetworkSupported(getVdsGroup().getcompatibility_version())) { addNetworkToHosts(); } @@ -97,8 +97,8 @@ private void addNetworkToHosts() { List<VdsNetworkInterface> nics = getDbFacade().getInterfaceDao().getAllInterfacesByLabelForCluster(getParameters().getVdsGroupId(), - getNetwork().getLabel()); - AddNetworkParametersBuilder builder = new AddNetworkParametersBuilder(getNetwork()); + getPersistedNetwork().getLabel()); + AddNetworkParametersBuilder builder = new AddNetworkParametersBuilder(getPersistedNetwork()); ArrayList<VdcActionParametersBase> parameters = builder.buildParameters(nics); if (!parameters.isEmpty()) { 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 6d6d2ff..e40e702 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 @@ -27,6 +27,9 @@ @NonTransactiveCommandAttribute public class DetachNetworkToVdsGroupCommand<T extends AttachNetworkToVdsGroupParameter> extends VdsGroupCommandBase<T> { + + private Network persistedNetwork; + public DetachNetworkToVdsGroupCommand(T parameters) { super(parameters); } @@ -37,12 +40,12 @@ @Override public Void runInTransaction() { - getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), getNetwork().getId()); + getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), getParameters().getNetworkCluster().getNetworkId()); return null; } }); - if (!getNetwork().isExternal() && getNetwork().getLabel() != null + if (!getPersistedNetwork().isExternal() && getPersistedNetwork().getLabel() != null && NetworkHelper.setupNetworkSupported(getVdsGroup().getcompatibility_version())) { removeNetworkFromHosts(); } @@ -87,11 +90,19 @@ return getParameters().getNetwork(); } + private Network getPersistedNetwork() { + if (persistedNetwork == null) { + persistedNetwork = getNetworkDAO().get(getNetwork().getId()); + } + + return persistedNetwork; + } + private void removeNetworkFromHosts() { List<VdsNetworkInterface> nics = getDbFacade().getInterfaceDao().getAllInterfacesByLabelForCluster(getParameters().getVdsGroupId(), - getNetwork().getLabel()); - RemoveNetworkParametersBuilder builder = new RemoveNetworkParametersBuilder(getNetwork()); + getPersistedNetwork().getLabel()); + RemoveNetworkParametersBuilder builder = new RemoveNetworkParametersBuilder(getPersistedNetwork()); ArrayList<VdcActionParametersBase> parameters = builder.buildParameters(nics); if (!parameters.isEmpty()) { -- To view, visit http://gerrit.ovirt.org/23029 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I62f05855c09e5fdee862d18dcce59c343baeafa9 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
