From 4384c189102d87d205b2ac39170690eefff887de Mon Sep 17 00:00:00 2001 From: Michael Lipp Date: Mon, 5 Aug 2024 20:21:36 +0000 Subject: [PATCH] Feature/multi monitor --- deploy/crds/vms-crd.yaml | 3 +++ .../org/jdrupes/vmoperator/manager/runnerConfig.ftl.yaml | 3 +++ org.jdrupes.vmoperator.runner.qemu/password-expiry | 2 +- .../src/org/jdrupes/vmoperator/runner/qemu/Configuration.java | 3 +++ .../templates/Standard-VM-latest.ftl.yaml | 3 ++- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/deploy/crds/vms-crd.yaml b/deploy/crds/vms-crd.yaml index bfe3985..cda817c 100644 --- a/deploy/crds/vms-crd.yaml +++ b/deploy/crds/vms-crd.yaml @@ -1410,6 +1410,9 @@ spec: display: type: object properties: + outputs: + type: integer + default: 1 spice: type: object properties: diff --git a/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/runnerConfig.ftl.yaml b/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/runnerConfig.ftl.yaml index 253f9b7..9e3d5ef 100644 --- a/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/runnerConfig.ftl.yaml +++ b/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/runnerConfig.ftl.yaml @@ -201,6 +201,9 @@ data: display: + <#if cr.spec.vm.display.outputs?? > + outputs: ${ cr.spec.vm.display.outputs.asInt?c } + <#if cr.spec.vm.display.spice??> spice: port: ${ cr.spec.vm.display.spice.port.asInt?c } diff --git a/org.jdrupes.vmoperator.runner.qemu/password-expiry b/org.jdrupes.vmoperator.runner.qemu/password-expiry index c42fe6e..8a606d5 100644 --- a/org.jdrupes.vmoperator.runner.qemu/password-expiry +++ b/org.jdrupes.vmoperator.runner.qemu/password-expiry @@ -1 +1 @@ -+30 \ No newline at end of file ++1800 \ No newline at end of file diff --git a/org.jdrupes.vmoperator.runner.qemu/src/org/jdrupes/vmoperator/runner/qemu/Configuration.java b/org.jdrupes.vmoperator.runner.qemu/src/org/jdrupes/vmoperator/runner/qemu/Configuration.java index 4e89944..dd45147 100644 --- a/org.jdrupes.vmoperator.runner.qemu/src/org/jdrupes/vmoperator/runner/qemu/Configuration.java +++ b/org.jdrupes.vmoperator.runner.qemu/src/org/jdrupes/vmoperator/runner/qemu/Configuration.java @@ -245,6 +245,9 @@ public class Configuration implements Dto { */ public static class Display implements Dto { + /** The number of outputs. */ + public int outputs = 1; + /** The spice. */ public Spice spice; } diff --git a/org.jdrupes.vmoperator.runner.qemu/templates/Standard-VM-latest.ftl.yaml b/org.jdrupes.vmoperator.runner.qemu/templates/Standard-VM-latest.ftl.yaml index d100554..5d10b54 100644 --- a/org.jdrupes.vmoperator.runner.qemu/templates/Standard-VM-latest.ftl.yaml +++ b/org.jdrupes.vmoperator.runner.qemu/templates/Standard-VM-latest.ftl.yaml @@ -137,7 +137,8 @@ - [ "-device", "virtio-rng-pci,rng=objrng0,id=rng0" ] # * Graphics and Audio Card # This is the only video "card" without a flickering cursor. - - [ "-device", "virtio-vga,id=video0,max_outputs=1" ] + - [ "-device", "virtio-vga,id=video0,max_outputs=${ vm.display.outputs },\ + max_hostmem=${ (vm.display.outputs * 256 * 1024 * 1024)?c }" ] - [ "-device", "ich9-intel-hda,id=sound0" ] # Network <#assign nwCounter = 0/>