Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: 4.9.6 vdsm version is considered as 3.0 instead of 
3.1 (#856507)
......................................................................

webadmin: 4.9.6 vdsm version is considered as 3.0 instead of 3.1 (#856507)

https://bugzilla.redhat.com/856507

All 4.9 vdsm versions are considered as 3.0 except 4.9.6.
In the webadmin there was a bug, and 4.9.6 was also considered as 3.0.
It caused the guide me to avoid adding 4.9.6 host to 3.1 cluster.

Also, when selecting host in Cluster guide me and clicking cancel,
and then clicking on select host again there was an exception because the
dc d.m was reseted when canceling the selecet window.


Change-Id: I216c78c6882c9ef18d28950b5889e8d9793f3b4e
Signed-off-by: Alona Kaplan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/common/AboutModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/MoveHost.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/label/VersionLabel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VersionRenderer.java
7 files changed, 40 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/11/8311/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java
index 55c0a92..00993b1 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.uicommonweb.models.clusters;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import org.ovirt.engine.core.common.action.AddVdsActionParameters;
 import org.ovirt.engine.core.common.action.ApproveVdsParameters;
@@ -16,11 +17,9 @@
 import org.ovirt.engine.core.common.mode.ApplicationMode;
 import org.ovirt.engine.core.common.queries.ValueObjectMap;
 import org.ovirt.engine.core.compat.StringHelper;
-import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Extensions;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
@@ -156,13 +155,12 @@
             return;
         }
 
-        Version minimalClusterVersion = Linq.GetMinVersionByClusters(clusters);
         ArrayList<VDS> availableHosts = new ArrayList<VDS>();
         for (VDS vds : allHosts)
         {
             if ((!Linq.IsHostBelongsToAnyOfClusters(clusters, vds))
                 && (vds.getstatus() == VDSStatus.Maintenance || 
vds.getstatus() == VDSStatus.PendingApproval)
-                && (vds.getVersion() == null || 
Extensions.GetFriendlyVersion(vds.getVersion()).compareTo(minimalClusterVersion)
 >= 0))
+                && (vds.getVersion() == null || isHostSupported(clusters, 
vds)))
             {
                 availableHosts.add(vds);
             }
@@ -187,6 +185,15 @@
         StopProgress();
     }
 
+    private boolean isHostSupported(List<VDSGroup> clusterList, VDS host){
+        for (VDSGroup cluster : clusterList){
+            if 
(!host.getSupportedClusterVersionsSet().contains(cluster.getcompatibility_version())){
+                return false;
+            }
+        }
+        return true;
+    }
+
     private void UpdateOptionsLocalFS() {
 
         UICommand addHostAction = new UICommand("AddHost", this); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/common/AboutModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/common/AboutModel.java
index a3e1eaf..f060f4e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/common/AboutModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/common/AboutModel.java
@@ -1,20 +1,19 @@
 package org.ovirt.engine.ui.uicommonweb.models.common;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.compat.PropertyChangedEventArgs;
 import org.ovirt.engine.core.compat.StringFormat;
 import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Extensions;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicompat.Clipboard;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
-
-import java.util.ArrayList;
-import java.util.List;
 
 @SuppressWarnings("unused")
 public class AboutModel extends Model
@@ -227,7 +226,7 @@
 
                         if (a.getVersion() != null) {
                             
item.setVDSMVersion(ConstantsManager.getInstance().getConstants().VDSMVersionAbout()
 + " " //$NON-NLS-1$
-                                + 
Extensions.GetFriendlyVersion(a.getVersion()) + " " //$NON-NLS-1$
+                                + a.getVersion().getRpmName() + " " 
//$NON-NLS-1$
                                 + a.getVersion());
                         }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
index aa5affc..86debc9 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
@@ -40,7 +40,6 @@
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Extensions;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
@@ -270,12 +269,6 @@
             getOptionalActions().add(addClusterAction);
         }
 
-        Version minimalClusterVersion = Linq.GetMinVersionByClusters(clusters);
-
-        if (minimalClusterVersion == null)
-        {
-            minimalClusterVersion = new Version();
-        }
 
         ArrayList<VDS> hosts = new ArrayList<VDS>();
         ArrayList<VDS> availableHosts = new ArrayList<VDS>();
@@ -283,14 +276,14 @@
         for (VDS vds : allHosts)
         {
             if (Linq.IsClusterItemExistInList(clusters, vds.getvds_group_id())
-                && (vds.getVersion() == null || vds.getVersion() == null || 
Extensions.GetFriendlyVersion(vds.getVersion()).compareTo(minimalClusterVersion)
 >= 0))
+                && (vds.getVersion() == null || isHostSupported(clusters, 
vds)))
             {
                 hosts.add(vds);
             }
 
             if ((!Linq.IsHostBelongsToAnyOfClusters(clusters, vds))
                 && (vds.getstatus() == VDSStatus.Maintenance || 
vds.getstatus() == VDSStatus.PendingApproval)
-                && (vds.getVersion() == null || 
Extensions.GetFriendlyVersion(vds.getVersion()).compareTo(minimalClusterVersion)
 >= 0))
+                && (vds.getVersion() == null || isHostSupported(clusters, 
vds)))
             {
                 availableHosts.add(vds);
             }
@@ -456,6 +449,15 @@
         StopProgress();
     }
 
+    private boolean isHostSupported(List<VDSGroup> clusterList, VDS host){
+        for (VDSGroup cluster : clusterList){
+            if 
(!host.getSupportedClusterVersionsSet().contains(cluster.getcompatibility_version())){
+                return false;
+            }
+        }
+        return true;
+    }
+
     private void UpdateOptionsLocalFS() {
         if (clusters == null || allHosts == null) {
             return;
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
index a86ae8f..eafb3c5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
@@ -179,14 +179,14 @@
         }
     }
 
-    private Version vdsmVersion;
+    private RpmVersion vdsmVersion;
 
-    public Version getVdsmVersion()
+    public RpmVersion getVdsmVersion()
     {
         return vdsmVersion;
     }
 
-    public void setVdsmVersion(Version value)
+    public void setVdsmVersion(RpmVersion value)
     {
         if (Version.OpInequality(vdsmVersion, value))
         {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/MoveHost.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/MoveHost.java
index 8bd4e40..0a317fc 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/MoveHost.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/MoveHost.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.uicommonweb.models.hosts;
 
+import java.util.ArrayList;
+
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
@@ -8,15 +10,12 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.uicommonweb.Extensions;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
-
-import java.util.ArrayList;
 
 @SuppressWarnings("unused")
 public class MoveHost extends ListModel
@@ -87,7 +86,7 @@
         {
             if (Linq.FirstOrDefault(clusters, new 
Linq.ClusterPredicate(vds.getvds_group_id())) == null
                 && (vds.getstatus() == VDSStatus.Maintenance || 
vds.getstatus() == VDSStatus.PendingApproval)
-                && (vds.getVersion() == null || 
Extensions.GetFriendlyVersion(vds.getVersion()).compareTo(cluster.getcompatibility_version())
 >= 0))
+                && (vds.getVersion() == null || 
vds.getSupportedClusterVersionsSet().contains(cluster.getcompatibility_version())))
             {
                 EntityModel entity = new EntityModel();
                 entity.setEntity(vds);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/label/VersionLabel.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/label/VersionLabel.java
index bffc084..bc2d7b4 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/label/VersionLabel.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/label/VersionLabel.java
@@ -1,11 +1,11 @@
 package org.ovirt.engine.ui.webadmin.widget.label;
 
-import org.ovirt.engine.core.compat.Version;
+import org.ovirt.engine.core.compat.RpmVersion;
 import org.ovirt.engine.ui.webadmin.widget.renderer.VersionRenderer;
 
 import com.google.gwt.user.client.ui.ValueLabel;
 
-public class VersionLabel extends ValueLabel<Version> {
+public class VersionLabel extends ValueLabel<RpmVersion> {
 
     public VersionLabel() {
         super(new VersionRenderer());
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VersionRenderer.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VersionRenderer.java
index f94f6cf..29cc959 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VersionRenderer.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VersionRenderer.java
@@ -1,25 +1,20 @@
 package org.ovirt.engine.ui.webadmin.widget.renderer;
 
-import com.google.gwt.text.shared.AbstractRenderer;
 import org.ovirt.engine.core.compat.RpmVersion;
-import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.common.widget.renderer.EmptyValueRenderer;
-import org.ovirt.engine.ui.uicommonweb.Extensions;
 import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider;
 
-public class VersionRenderer extends AbstractRenderer<Version> {
+import com.google.gwt.text.shared.AbstractRenderer;
+
+public class VersionRenderer extends AbstractRenderer<RpmVersion> {
 
     @Override
-    public String render(Version version) {
+    public String render(RpmVersion version) {
 
         String formattedVersion;
-        if (version instanceof RpmVersion) {
-            formattedVersion = ((RpmVersion) version).getRpmName();
-        } else {
-            formattedVersion = 
Extensions.GetFriendlyVersion(version).toString();
-        }
+        formattedVersion = version.getRpmName();
 
         return new EmptyValueRenderer<String>(
-            
ClientGinjectorProvider.instance().getApplicationConstants().unAvailablePropertyLabel()).render(formattedVersion);
+                
ClientGinjectorProvider.instance().getApplicationConstants().unAvailablePropertyLabel()).render(formattedVersion);
     }
 }


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

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

Reply via email to