Eliraz Levi has uploaded a new change for review. Change subject: engine: Introduce PersistentHostSetupNetworks command ......................................................................
engine: Introduce PersistentHostSetupNetworks command A replacement to the old PersistentSetupNetworkCommand. Change-Id: I659e432be1e2e1e1883811d59badf08558982944 Signed-off-by: Eliraz Levi <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/PersistentHostSetupNetworksCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java 2 files changed, 68 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/42050/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/PersistentHostSetupNetworksCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/PersistentHostSetupNetworksCommand.java new file mode 100644 index 0000000..69f151c --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/PersistentHostSetupNetworksCommand.java @@ -0,0 +1,65 @@ +package org.ovirt.engine.core.bll.network.host; + +import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute; +import org.ovirt.engine.core.bll.VdsCommand; +import org.ovirt.engine.core.bll.context.CommandContext; +import org.ovirt.engine.core.common.AuditLogType; +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.errors.VdcBllMessages; + +@NonTransactiveCommandAttribute +public class PersistentHostSetupNetworksCommand<T extends HostSetupNetworksParameters> extends VdsCommand<T> { + + public PersistentHostSetupNetworksCommand(T parameters) { + this(parameters, null); + } + + public PersistentHostSetupNetworksCommand(T parameters, CommandContext commandContext) { + super(parameters, commandContext); + setVdsId(parameters.getVdsId()); + } + + @Override + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__SETUP); + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__NETWORKS); + } + + @Override + protected void executeCommand() { + if (getParameters().getShouldBeLogged()) { + auditLogDirector.log(this, AuditLogType.PERSIST_NETWORK_ON_HOST); + } + + VdcReturnValueBase returnValue = + runInternalAction(VdcActionType.HostSetupNetworks, getParameters(), cloneContextAndDetachFromParent()); + boolean changesDetected = checkForChanges(); + if (returnValue.getSucceeded() && changesDetected) { + VdsActionParameters parameters = new VdsActionParameters(getParameters().getVdsId()); + parameters.setShouldBeLogged(false); + parameters.setCorrelationId(getCorrelationId()); + returnValue = runInternalAction(VdcActionType.CommitNetworkChanges, + parameters, cloneContextAndDetachFromParent()); + } + + if (!returnValue.getSucceeded()) { + propagateFailure(returnValue); + } + + setSucceeded(returnValue.getSucceeded()); + } + + private boolean checkForChanges() { + boolean output = getVdsDynamicDao().get(getVdsId()).getNetConfigDirty(); + return output; + } + + @Override + public AuditLogType getAuditLogTypeValue() { + return getSucceeded() ? AuditLogType.PERSIST_NETWORK_ON_HOST_FINISHED + : AuditLogType.PERSIST_NETWORK_ON_HOST_FAILED; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index 9ac6069..65c58cd 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -106,6 +106,7 @@ @Deprecated SetupNetworks(158, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE), + @Deprecated PersistentSetupNetworks(159, QuotaDependency.NONE), // VnicProfile Commands @@ -465,7 +466,8 @@ HostSetupNetworks(5200, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE), AddNetworkAttachment(5201, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE), UpdateNetworkAttachment(5202, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE), - RemoveNetworkAttachment(5203, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE); + RemoveNetworkAttachment(5203, ActionGroup.CONFIGURE_HOST_NETWORK, QuotaDependency.NONE), + PersistentHostSetupNetworks(5204, QuotaDependency.NONE); private int intValue; private ActionGroup actionGroup; -- To view, visit https://gerrit.ovirt.org/42050 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I659e432be1e2e1e1883811d59badf08558982944 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Eliraz Levi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
