Michael Kublin has uploaded a new change for review.

Change subject: engine: Fixing NPE in CollectVdsNetworkDataVDSCommand
......................................................................

engine: Fixing NPE in CollectVdsNetworkDataVDSCommand

The NPE is occuring because of some changes in Base class.
As a fix, start to pass a VDS as parameter and not vdsId

Change-Id: I9d3027b134e11e9fb22cd007d10ce4b9fd8afbb6
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddBondCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AttachNetworkToVdsInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/DetachNetworkFromVdsInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveBondCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/SetupNetworksCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/UpdateNetworkToVdsInterfaceCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java
8 files changed, 15 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/14501/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddBondCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddBondCommand.java
index 1fe91f2..8afa548 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddBondCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddBondCommand.java
@@ -58,7 +58,7 @@
                     .getInstance()
                     .getResourceManager()
                     .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                            new 
VdsIdAndVdsVDSCommandParametersBase(params.getVdsId()));
+                            new VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
             if (retVal.getSucceeded()) {
                 // set network status (this can change the network status to
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AttachNetworkToVdsInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AttachNetworkToVdsInterfaceCommand.java
index 6b01d96..018fd40 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AttachNetworkToVdsInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AttachNetworkToVdsInterfaceCommand.java
@@ -75,7 +75,7 @@
                     .getInstance()
                     .getResourceManager()
                     .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                            new 
VdsIdAndVdsVDSCommandParametersBase(params.getVdsId()));
+                            new VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
             if (retVal.getSucceeded()) {
                 Guid groupId = 
getVdsDAO().get(params.getVdsId()).getVdsGroupId();
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/DetachNetworkFromVdsInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/DetachNetworkFromVdsInterfaceCommand.java
index ef5a9f2..12451e9 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/DetachNetworkFromVdsInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/DetachNetworkFromVdsInterfaceCommand.java
@@ -69,7 +69,7 @@
                     .getInstance()
                     .getResourceManager()
                     .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                            new 
VdsIdAndVdsVDSCommandParametersBase(getParameters().getVdsId()));
+                            new VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
             if (retVal.getSucceeded()) {
                 setSucceeded(true);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveBondCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveBondCommand.java
index 5ebea4c..6952dcf 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveBondCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveBondCommand.java
@@ -68,7 +68,7 @@
                     .getInstance()
                     .getResourceManager()
                     .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                            new 
VdsIdAndVdsVDSCommandParametersBase(getParameters().getVdsId()));
+                            new VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
             if (retVal.getSucceeded()) {
                 setSucceeded(true);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/SetupNetworksCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/SetupNetworksCommand.java
index d971c5d..792e0d8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/SetupNetworksCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/SetupNetworksCommand.java
@@ -115,7 +115,7 @@
                 VdsHandler.handleVdsResult(retVal);
 
                 if (retVal.getSucceeded()) {
-                    
setSucceeded(TransactionSupport.executeInNewTransaction(updateVdsNetworksInTx(bckndCmdParams)));
+                    
setSucceeded(TransactionSupport.executeInNewTransaction(updateVdsNetworksInTx()));
                 }
             }
         } catch (TimeoutException e) {
@@ -165,10 +165,9 @@
     /**
      * update the new VDSM networks to DB in new transaction.
      *
-     * @param bckndCmdParams
      * @return
      */
-    private TransactionMethod<Boolean> updateVdsNetworksInTx(final T 
bckndCmdParams) {
+    private TransactionMethod<Boolean> updateVdsNetworksInTx() {
         return new TransactionMethod<Boolean>() {
 
             @Override
@@ -176,7 +175,7 @@
                 // save the new network topology to DB
                 Backend.getInstance().getResourceManager()
                         .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                                new 
VdsIdAndVdsVDSCommandParametersBase(bckndCmdParams.getVdsId()));
+                                new 
VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
                 // Update cluster networks (i.e. check if need to activate 
each new network)
                 for (Network net : getNetworks()) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/UpdateNetworkToVdsInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/UpdateNetworkToVdsInterfaceCommand.java
index 4c9b4be..adf4eeb 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/UpdateNetworkToVdsInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/UpdateNetworkToVdsInterfaceCommand.java
@@ -76,7 +76,7 @@
 
         if (getParameters().getCheckConnectivity()) {
             ThreadPoolUtil.execute(new EditNetworkThread(parameters));
-            pollVds(getParameters().getVdsId());
+            pollVds(getVds());
         } else {
             editNetworkThreadCompat(parameters);
         }
@@ -87,7 +87,7 @@
                     .getInstance()
                     .getResourceManager()
                     .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                            new 
VdsIdAndVdsVDSCommandParametersBase(getParameters().getVdsId()));
+                            new VdsIdAndVdsVDSCommandParametersBase(getVds()));
 
             if (retVal.getSucceeded()) {
                 Guid groupId = 
getVdsDAO().get(getParameters().getVdsId()).getVdsGroupId();
@@ -124,7 +124,7 @@
         }
     }
 
-    protected void pollVds(Guid vdsId) {
+    protected void pollVds(VDS vds) {
         int retries = 10;
         while (retries > 0 && retVal == null && !editNetworkThreadFinish) {
             retries--;
@@ -132,7 +132,7 @@
                 Backend.getInstance()
                         .getResourceManager()
                         .RunVdsCommand(VDSCommandType.CollectVdsNetworkData,
-                                new 
VdsIdAndVdsVDSCommandParametersBase(vdsId));
+                                new VdsIdAndVdsVDSCommandParametersBase(vds));
             } catch (java.lang.Exception e) {
             }
         }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java
index e417270..cc3de76 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java
@@ -34,10 +34,6 @@
         extends GetCapabilitiesVDSCommand<P> {
     public CollectVdsNetworkDataVDSCommand(P parameters) {
         super(parameters);
-        if (getVds() == null) {
-            
setVdsAndVdsStatic(DbFacade.getInstance().getVdsDao().get(parameters.getVdsId()));
-            parameters.setVds(getVds());
-        }
     }
 
     @Override
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java
index 128e36f..1002085 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java
@@ -39,8 +39,10 @@
     protected VdsBrokerCommand(P parameters, VDS vds) {
         super(parameters);
         this.mVdsBroker = initializeVdsBroker(parameters.getVdsId());
-        this.vds = vds;
-        this.vdsStatic = vds.getStaticData();
+        if (vds != null) {
+            this.vds = vds;
+            this.vdsStatic = vds.getStaticData();
+        }
     }
 
     protected IVdsServer initializeVdsBroker(Guid vdsId) {


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

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

Reply via email to