Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Change setup networks to handle VDSM errors (#851134)
......................................................................

engine: Change setup networks to handle VDSM errors (#851134)

https://bugzilla.redhat.com/851134

Due to future task being used, special care needed to be taken to make
the command behave as a normal command would when sending a VDSM
command.

Now the VDSM error codes should be returned to client in case of an
error.

Change-Id: Ic833efde810e3e204612f4ba522e6c7aaa32c237
Signed-off-by: Mike Kolesnik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetupNetworksCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VDSBrokerFrontendImpl.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FutureVDSCommand.java
3 files changed, 8 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/7679/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetupNetworksCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetupNetworksCommand.java
index cfc939c..454b4f4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetupNetworksCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SetupNetworksCommand.java
@@ -101,8 +101,12 @@
 
         try {
             VDSReturnValue retVal = setupNetworksTask.get(timeout, 
TimeUnit.SECONDS);
-            if (retVal != null && retVal.getSucceeded()) {
-                
setSucceeded(TransactionSupport.executeInNewTransaction(updateVdsNetworksInTx(bckndCmdParams)));
+            if (retVal != null) {
+                VDSBrokerFrontendImpl.handleVdsResult(retVal);
+
+                if (retVal.getSucceeded()) {
+                    
setSucceeded(TransactionSupport.executeInNewTransaction(updateVdsNetworksInTx(bckndCmdParams)));
+                }
             }
         } catch (TimeoutException e) {
             log.debugFormat("Setup networks command timed out for {0} 
seconds", timeout);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VDSBrokerFrontendImpl.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VDSBrokerFrontendImpl.java
index b648ece..f53aabc 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VDSBrokerFrontendImpl.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VDSBrokerFrontendImpl.java
@@ -43,7 +43,7 @@
      *            The result of the command.
      * @return The result (if no exception was thrown).
      */
-    private VDSReturnValue handleVdsResult(VDSReturnValue result) {
+    protected static VDSReturnValue handleVdsResult(VDSReturnValue result) {
         if (StringUtils.isNotEmpty(result.getExceptionString())) {
             VdcBLLException exp;
             if (result.getVdsError() != null) {
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FutureVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FutureVDSCommand.java
index 3f24851..b86e26d 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FutureVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FutureVDSCommand.java
@@ -80,7 +80,7 @@
             throw e;
         } catch (Exception e) {
             log.error(e);
-            setVdsRuntimeError(new RuntimeException(e));
+            setVdsRuntimeError(e instanceof RuntimeException ? 
(RuntimeException) e : new RuntimeException(e));
         }
         return getVDSReturnValue();
     }


--
To view, visit http://gerrit.ovirt.org/7679
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic833efde810e3e204612f4ba522e6c7aaa32c237
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to