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