Francesco Romani has uploaded a new change for review.

Change subject: frontend: activate virtio serial console per-vm
......................................................................

frontend: activate virtio serial console per-vm

In order to actually bind the vm serial console to an
Unix Domain Socket, VDSM needs an additional specParam
in the console device - enableSocket=True

This patch enhances the frontend to allow the user to tune
this setting to VDSM.

Feature wiki page: http://www.ovirt.org/Features/Serial_Console

Bug-Url: https://bugzilla.redhat.com/1223671
Change-Id: I095005d2b3f2c2aeaf828cf08a547ca9dd07e029
Signed-off-by: Francesco Romani <from...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/instancetypes/InstanceTypesPopupWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.ui.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
12 files changed, 47 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/42155/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
index 9627e78..4e0a1a9 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
@@ -2173,7 +2173,7 @@
 
     @TypeConverterAttribute(Boolean.class)
     @DefaultValueAttribute("true")
-    VirtioSerialConsoleSupported,
+    VirtioSerialConsoleEnabled,
 
     Invalid
 
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 df348a6..8af9f61 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
@@ -165,7 +165,8 @@
     CinderProviderSupported,
     NetworkSriovSupported,
     HostDevicePassthroughCapabilities,
-    LiveStorageMigrationBetweenDifferentStorageTypes;
+    LiveStorageMigrationBetweenDifferentStorageTypes,
+    VirtioSerialConsoleEnabled(ConfigAuthType.User);
 
     public static enum ConfigAuthType {
         Admin,
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
index 400e5ba..4b00e0a 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
@@ -1993,6 +1993,9 @@
     @DefaultStringValue("Enable SPICE clipboard copy and paste")
     String spiceCopyPasteEnabled();
 
+    @DefaultStringValue("Enable VirtIO serial console support")
+    String virtioSerialConsoleEnabled();
+
     @DefaultStringValue("Required Random Number Generator sources:")
     String requiredRngSources();
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
index 035e68c..7a5a099 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
@@ -530,6 +530,11 @@
     @WithElementId("isConsoleDeviceEnabled")
     public EntityModelCheckBoxEditor isConsoleDeviceEnabledEditor;
 
+    @UiField(provided = true)
+    @Path(value = "virtioSerialConsoleEnabled.entity")
+    @WithElementId("virtioSerialConsoleEnabled")
+    public EntityModelCheckBoxEditor isVirtioSerialConsoleEnabledEditor;
+
     @UiField
     @Path(value = "spiceProxy.entity")
     @WithElementId
@@ -962,6 +967,7 @@
         isDeleteProtectedEditor = new EntityModelCheckBoxEditor(Align.RIGHT, 
new ModeSwitchingVisibilityRenderer());
         isSmartcardEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT, 
new ModeSwitchingVisibilityRenderer());
         isConsoleDeviceEnabledEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT, new ModeSwitchingVisibilityRenderer(), 
true);
+        isVirtioSerialConsoleEnabledEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT, new ModeSwitchingVisibilityRenderer(), 
true);
         isRngEnabledEditor = new EntityModelCheckBoxOnlyEditor(new 
ModeSwitchingVisibilityRenderer());
         rngPeriodEditor = new IntegerEntityModelTextBoxEditor(new 
ModeSwitchingVisibilityRenderer());
         rngBytesEditor = new IntegerEntityModelTextBoxEditor(new 
ModeSwitchingVisibilityRenderer());
@@ -1454,6 +1460,7 @@
         isRunAndPauseEditor.setLabel(constants.runAndPauseVmPopup());
         isDeleteProtectedEditor.setLabel(constants.deleteProtectionPopup());
         
isConsoleDeviceEnabledEditor.setLabel(constants.consoleDeviceEnabled());
+        
isVirtioSerialConsoleEnabledEditor.setLabel(constants.virtioSerialConsoleEnabled());
         
copyTemplatePermissionsEditor.setLabel(constants.copyTemplatePermissions());
         isSmartcardEnabledEditor.setLabel(constants.smartcardVmPopup());
         
isMemoryBalloonDeviceEnabled.setLabel(constants.memoryBalloonDeviceEnabled());
@@ -2071,6 +2078,7 @@
                 update(isSingleQxlEnabledEditor, simpleField()).
                 putOne(isSoundcardEnabledEditor, 
simpleField().visibleInAdvancedModeOnly()).
                 putOne(isConsoleDeviceEnabledEditor, 
simpleField().visibleInAdvancedModeOnly()).
+                putOne(isVirtioSerialConsoleEnabledEditor, 
simpleField().visibleInAdvancedModeOnly()).
                 putOne(spiceFileTransferEnabledEditor, 
simpleField().visibleInAdvancedModeOnly()).
                 putOne(spiceCopyPasteEnabledEditor, 
simpleField().visibleInAdvancedModeOnly()).
                 putOne(instanceImagesEditor, hiddenField());
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
index 4d5fe29..8aae235 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
@@ -604,6 +604,7 @@
 
                         <ge:EntityModelCheckBoxEditor 
ui:field="isSoundcardEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
                         <ge:EntityModelCheckBoxEditor 
ui:field="isConsoleDeviceEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
+                        <ge:EntityModelCheckBoxEditor 
ui:field="isVirtioSerialConsoleEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
 
                         <w:EntityModelWidgetWithInfo 
ui:field="spiceProxyEnabledCheckboxWithInfoIcon" />
                         <ge:StringEntityModelTextBoxEditor 
ui:field="spiceProxyEditor" />
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/instancetypes/InstanceTypesPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/instancetypes/InstanceTypesPopupWidget.java
index ed33c03..e1d6a86 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/instancetypes/InstanceTypesPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/instancetypes/InstanceTypesPopupWidget.java
@@ -66,6 +66,7 @@
                 putOne(spiceCopyPasteEnabledEditor, hiddenField()).
                 putOne(spiceFileTransferEnabledEditor, hiddenField()).
                 putOne(iconTab, hiddenField()).
-                putOne(consoleDisconnectActionEditor, hiddenField());
+                putOne(consoleDisconnectActionEditor, hiddenField()).
+                putOne(isVirtioSerialConsoleEnabledEditor, hiddenField());
     }
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java
index aa91469..d26b240 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java
@@ -237,6 +237,11 @@
     @WithElementId("spiceCopyPasteEnabled")
     public EntityModelCheckBoxEditor spiceCopyPasteEnabledEditor;
 
+    @UiField(provided = true)
+    @Path(value = "virtioSerialConsoleEnabled.entity")
+    @WithElementId("virtioSerialConsoleEnabled")
+    public EntityModelCheckBoxEditor virtioSerialConsoleEnabledEditor;
+
     @UiField
     @WithElementId
     ButtonBase bootSequenceUpButton;
@@ -364,6 +369,7 @@
         useAlternateCredentialsEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
         spiceFileTransferEnabledEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
         spiceCopyPasteEnabledEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
+        virtioSerialConsoleEnabledEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
     }
 
     void initListBoxEditors() {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.ui.xml
index 3399beb..43d9c25 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.ui.xml
@@ -254,6 +254,7 @@
                                <ge:EntityModelRadioButtonEditor 
ui:field="displayConsoleSpiceEditor" />
                 <ge:EntityModelCheckBoxEditor 
ui:field="spiceFileTransferEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
                 <ge:EntityModelCheckBoxEditor 
ui:field="spiceCopyPasteEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
+                <ge:EntityModelCheckBoxEditor 
ui:field="virtioSerialConsoleEnabledEditor" 
addStyleNames="{style.checkboxWithLongLabel}" />
                        </g:VerticalPanel>
                </g:DisclosurePanel>
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java
index 37dccd4..ffdd32a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java
@@ -46,5 +46,6 @@
         
vm.setMigrateCompressed(model.getMigrateCompressed().getSelectedItem());
         vm.setCustomProperties(model.getCustomPropertySheet().serialize());
         
vm.setConsoleDisconnectAction(model.getConsoleDisconnectAction().getSelectedItem());
+        
vm.setVirtioSerialConsoleEnabled(Boolean.TRUE.equals(model.getVirtioSerialConsoleEnabled().getEntity()));
     }
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java
index 02e7fd5..bcaa43f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java
@@ -56,6 +56,10 @@
         }
 
         
model.getConsoleDisconnectAction().setSelectedItem(vm.getConsoleDisconnectAction());
+
+        if (supported(ConfigurationValues.VirtioSerialConsoleEnabled, model)) {
+            
model.getVirtioSerialConsoleEnabled().setEntity(vm.isVirtioSerialConsoleEnabled());
+        }
     }
 
     protected boolean supported(ConfigurationValues feature, UnitVmModel 
model) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java
index d860eb6..fdf9f2f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java
@@ -424,6 +424,16 @@
         this.spiceCopyPasteEnabled = spiceCopyPasteEnabled;
     }
 
+    private EntityModel<Boolean> virtioSerialConsoleEnabled;
+
+    public EntityModel<Boolean> getVirtioSerialConsoleEnabled() {
+        return virtioSerialConsoleEnabled;
+    }
+
+    public void setVirtioSerialConsoleEnabled(EntityModel<Boolean> 
virtioSerialConsoleEnabled) {
+        this.virtioSerialConsoleEnabled = virtioSerialConsoleEnabled;
+    }
+
     // Misc
 
     private boolean privateIsLinuxOS;
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 706abbb..fc5f990 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
@@ -1424,6 +1424,14 @@
         this.spiceCopyPasteEnabled = spiceCopyPasteEnabled;
     }
 
+    private NotChangableForVmInPoolEntityModel<Boolean> 
virtioSerialConsoleEnabled;
+
+    public EntityModel<Boolean> getVirtioSerialConsoleEnabled() { return 
virtioSerialConsoleEnabled; }
+
+    public void 
setVirtioSerialConsoleEnabled(NotChangableForVmInPoolEntityModel<Boolean> 
virtioSerialConsoleEnabled) {
+        this.virtioSerialConsoleEnabled = virtioSerialConsoleEnabled;
+    }
+
     private NotChangableForVmInPoolListModel<CpuProfile> cpuProfiles;
 
     public ListModel<CpuProfile> getCpuProfiles() {


-- 
To view, visit https://gerrit.ovirt.org/42155
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I095005d2b3f2c2aeaf828cf08a547ca9dd07e029
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <from...@redhat.com>
Gerrit-Reviewer: Martin Betak <mbe...@redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjeli...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to