Francesco Romani has uploaded a new change for review.

Change subject: core, webadmin: report QEMU live snapshot support
......................................................................

core, webadmin: report QEMU live snapshot support

this patch reports the QEMU live snapshot support
into the host properties tab.
The live snapshot support is provided by the QEMU
binary, so it is not expected to change often,
and it is not configurable.

Change-Id: Ib2a34967eeeefcaabf2fad21192b7045f9ecc07e
Bug-Url: https://bugzilla.redhat.com/1009100
Signed-off-by: Francesco Romani <from...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostGeneralModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java
7 files changed, 53 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/77/27677/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
index c2b4401..6d677ce 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
@@ -1375,4 +1375,11 @@
         mVdsDynamic.setNumaSupport(numaSupport);
     }
 
+    public void setLiveSnapshotSupport(Boolean value) {
+        this.mVdsDynamic.setLiveSnapshotSupport(value);
+    }
+
+    public Boolean getLiveSnapshotSupport() {
+        return this.mVdsDynamic.getLiveSnapshotSupport();
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
index 0156a3c..14768fe 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
@@ -88,6 +88,8 @@
 
     private KdumpStatus kdumpStatus;
 
+    private Boolean liveSnapshotSupport;
+
     private VdsTransparentHugePagesState transparentHugePagesState;
 
     @Size(max = BusinessEntitiesDefinitions.GENERAL_NAME_SIZE)
@@ -612,6 +614,13 @@
 
     public void setSELinuxEnforceMode(Integer value) {
         this.selinuxEnforceMode = SELinuxMode.fromValue(value);
+
+    public Boolean getLiveSnapshotSupport() {
+        return liveSnapshotSupport;
+    }
+
+    public void setLiveSnapshotSupport(Boolean liveSnapshotSupport) {
+        this.liveSnapshotSupport = liveSnapshotSupport;
     }
 
     public List<VdsNumaNode> getNumaNodeList() {
@@ -696,6 +705,7 @@
         result = prime * result + ((numaNodeList == null) ? 0 : 
numaNodeList.hashCode());
         result = prime * result + autoNumaBalancing.getValue();
         result = prime * result + (numaSupport ? 0 : 1);
+        result = prime * result + ((liveSnapshotSupport == null) ? 0 : 
liveSnapshotSupport.hashCode());
 
         return result;
     }
@@ -767,6 +777,7 @@
                 && ObjectUtils.objectsEqual(numaNodeList, other.numaNodeList)
                 && autoNumaBalancing.getValue() == 
other.autoNumaBalancing.getValue()
                 && numaSupport == other.numaSupport);
+                && liveSnapshotSupport == other.liveSnapshotSupport;
     }
 
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
index 3a2950e..16409e9 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java
@@ -436,6 +436,12 @@
         } else {
             vds.setSELinuxEnforceMode(null);
         }
+
+        if (xmlRpcStruct.containsKey(VdsProperties.liveSnapshotSupport)) {
+            vds.setLiveSnapshotSupport(AssignBoolValue(xmlRpcStruct, 
VdsProperties.liveSnapshotSupport));
+        } else {
+            vds.setLiveSnapshotSupport(true); // assume supported for backward 
compatibility
+        }
     }
 
     public static void checkTimeDrift(VDS vds, Map<String, Object> 
xmlRpcStruct) {
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java
index e469c36..4b9f3e6 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsProperties.java
@@ -244,6 +244,7 @@
     public static final String launch_paused_param = "launchPaused";
     public static final String session = "session";
     public static final String spiceSslCipherSuite = "spiceSslCipherSuite";
+    public static final String liveSnapshotSupport = "liveSnapshot";
 
     public static final String vm_balloonInfo = "balloonInfo";
     public static final String vm_balloon_cur = "balloon_cur";
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 6414cd9..4bffbe6 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
@@ -613,6 +613,26 @@
         }
     }
 
+    private Boolean liveSnapshotSupport;
+
+    public Boolean getLiveSnapshotSupport()
+    {
+        return liveSnapshotSupport;
+    }
+
+    public void setLiveSnapshotSupport(Boolean value)
+    {
+        if (liveSnapshotSupport == null && value == null)
+        {
+            return;
+        }
+        if (liveSnapshotSupport == null || !liveSnapshotSupport.equals(value))
+        {
+            liveSnapshotSupport = value;
+            onPropertyChanged(new 
PropertyChangedEventArgs("LiveSnapshotSupport")); //$NON-NLS-1$
+        }
+    }
+
     private Object automaticLargePage;
 
     public Object getAutomaticLargePage()
@@ -1024,6 +1044,8 @@
 
         
setKdumpStatus(EnumTranslator.create(KdumpStatus.class).get(vds.getKdumpStatus()));
 
+        setLiveSnapshotSupport(vds.getLiveSnapshotSupport());
+
         if (!vds.getHighlyAvailableIsConfigured()) {
             setHostedEngineHaIsConfigured(false);
             setHostedEngineHa(constants.bracketedNotAvailableLabel());
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 6b109c0..bf3fe4d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -1473,6 +1473,9 @@
     @DefaultStringValue("Kdump Status")
     String kdumpStatus();
 
+    @DefaultStringValue("Live Snapsnot Support")
+    String liveSnapshotSupportHostGeneral();
+
     // Storage
     @DefaultStringValue("Domain Name")
     String domainNameStorage();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java
index 1ce6140..cabc70f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostGeneralView.java
@@ -80,6 +80,8 @@
     MemorySizeTextBoxLabel<Long> swapFree;
     MemorySizeTextBoxLabel<Float> maxSchedulingMemory;
 
+    BooleanTextBoxLabel liveSnapshotSupport = new 
BooleanTextBoxLabel(constants.active(), constants.inactive());
+
     @Ignore
     DetailsTextBoxLabel<ArrayList<TextBoxLabelBase<Integer>>, Integer> 
physicalMemoryDetails =
             new DetailsTextBoxLabel<ArrayList<TextBoxLabelBase<Integer>>, 
Integer>(constants.total(),
@@ -165,6 +167,7 @@
         formBuilder.addFormItem(new 
FormItem(constants.autoLargePagesHostGeneral(), automaticLargePage, 
2).withAutoPlacement());
         formBuilder.addFormItem(new 
FormItem(constants.isciInitNameHostGeneral(), iScsiInitiatorName, 2, 
virtSupported).withAutoPlacement());
         formBuilder.addFormItem(new FormItem(constants.kdumpStatus(), 
kdumpStatus, 2).withAutoPlacement());
+        formBuilder.addFormItem(new 
FormItem(constants.liveSnapshotSupportHostGeneral(), liveSnapshotSupport, 
2).withAutoPlacement());
     }
 
     void initMemorySizeLabels() {


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

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

Reply via email to