Gilad Chaplik has uploaded a new change for review.

Change subject: webamin: hide cpuPin section according to config values
......................................................................

webamin: hide cpuPin section according to config values

According to cpuPinningEnabled flag, and CpuPinMigrationEnabled
flag in case of migration.

Change-Id: Ifae4242379136d6dc580d1ee6c78757ff1e7e022
Bug-Url: https://bugzilla.redhat.com/867039
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
3 files changed, 28 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/64/9664/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
index a8aa28e..f87bb8f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
@@ -82,7 +82,10 @@
     MTUOverrideSupported(ConfigAuthType.User),
     GlusterVolumeOptionGroupVirtValue,
     GlusterVolumeOptionOwnerUserVirtValue,
-    GlusterVolumeOptionOwnerGroupVirtValue;
+    GlusterVolumeOptionOwnerGroupVirtValue,
+    CpuPinningEnabled,
+    CpuPinMigrationEnabled,
+    ;
 
     public static enum ConfigAuthType {
         Admin,
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index b694ae0..1868730 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -1581,6 +1581,7 @@
         {
             getDontMigrateVM().setIsChangable(true);
         }
+        behavior.updateCpuPinningVisibility();
     }
 
     private void IsAutoAssign_EntityChanged(Object sender, EventArgs args)
@@ -1594,6 +1595,7 @@
         {
             getRunVMOnSpecificHost().setIsChangable(true);
         }
+        behavior.updateCpuPinningVisibility();
     }
 
     private void UpdateNumOfMonitors()
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
index c6c55e4..8052fbf 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
@@ -21,12 +21,12 @@
 import org.ovirt.engine.core.common.businessentities.VolumeType;
 import org.ovirt.engine.core.common.businessentities.storage_domains;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
+import org.ovirt.engine.core.common.queries.ConfigurationValues;
 import 
org.ovirt.engine.core.common.queries.GetAllRelevantQuotasForVdsGroupParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
-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;
@@ -730,7 +730,18 @@
     protected void updateCpuPinningVisibility() {
         if (getModel().getCluster().getSelectedItem() != null) {
             VDSGroup cluster = (VDSGroup) 
getModel().getCluster().getSelectedItem();
-            boolean hasCpuPinning = 
cluster.getcompatibility_version().compareTo(new Version(3, 1)) >= 0;
+            String compatibilityVersion = 
cluster.getcompatibility_version().toString();
+            boolean hasCpuPinning = true;
+
+            if 
(Boolean.FALSE.equals(AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.CpuPinningEnabled,
+                    compatibilityVersion))) {
+                hasCpuPinning = false;
+            } else if 
(Boolean.FALSE.equals(AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.CpuPinMigrationEnabled,
+                    "general")) //$NON-NLS-1$
+                    && isVmMigratable()) {
+                hasCpuPinning = false;
+            }
+
             getModel().getCpuPinning()
                     .setIsAvailable(hasCpuPinning);
             if (!hasCpuPinning) {
@@ -739,6 +750,15 @@
         }
     }
 
+    private boolean isVmMigratable() {
+        if 
(Boolean.TRUE.equals(getModel().getRunVMOnSpecificHost().getEntity())
+                || 
Boolean.FALSE.equals(getModel().getIsAutoAssign().getEntity())
+                || 
Boolean.TRUE.equals(getModel().getDontMigrateVM().getEntity())) {
+            return false;
+        }
+        return true;
+    }
+
     public void numOfSocketChanged() {
         int numOfSockets = 
extractIntFromListModel(getModel().getNumOfSockets());
         int totalCpuCores = getTotalCpuCores();


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifae4242379136d6dc580d1ee6c78757ff1e7e022
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to