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

Reply via email to