public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf
@ 2026-06-09 12:11 Dominik Csapak
  2026-06-09 14:48 ` Fiona Ebner
  2026-06-10 13:43 ` superseded: " Dominik Csapak
  0 siblings, 2 replies; 5+ messages in thread
From: Dominik Csapak @ 2026-06-09 12:11 UTC (permalink / raw)
  To: pve-devel

OVMF can only use PXE/network boot when a virtual RNG device is added
for VMs, but this is not obvious from the UI or the error behavior.

Add a small warning to the boot order edit that says what is necessary.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* removed stray debug log statement..., sry for the noise

 www/manager6/qemu/BootOrderEdit.js | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
index 521a3d6e..6ae1f506 100644
--- a/www/manager6/qemu/BootOrderEdit.js
+++ b/www/manager6/qemu/BootOrderEdit.js
@@ -26,6 +26,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
             let grid = me.lookup('grid');
             let marker = me.lookup('marker');
             let emptyWarning = me.lookup('emptyWarning');
+            let rngPxeWarning = me.lookup('rngPxeWarning');
 
             marker.originalValue = undefined;
 
@@ -43,6 +44,18 @@ Ext.define('PVE.qemu.BootOrderPanel', {
                         view.inUpdate = false;
                         marker.checkDirty();
                         emptyWarning.setHidden(val !== '');
+
+                        let showRngPxeWarning = false;
+                        if (
+                            view.vmconfig?.bios?.toLowerCase().includes('ovmf') &&
+                            !view.vmconfig?.rng0 &&
+                            val?.includes('net')
+                        ) {
+                            showRngPxeWarning = true;
+                        }
+
+                        rngPxeWarning.setHidden(!showRngPxeWarning);
+
                         grid.getView().refresh();
                     },
                 },
@@ -238,6 +251,15 @@ Ext.define('PVE.qemu.BootOrderPanel', {
             userCls: 'pmx-hint',
             value: gettext('Warning: No devices selected, the VM will probably not boot!'),
         },
+        {
+            xtype: 'displayfield',
+            reference: 'rngPxeWarning',
+            userCls: 'pmx-hint',
+            hidden: true,
+            value: gettext(
+                'Warning: PXE boot with OVMF only works when a Virtio RNG device is added!',
+            ),
+        },
         {
             // for dirty marking and 'reset' function
             xtype: 'field',
-- 
2.47.3





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf
  2026-06-09 12:11 [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf Dominik Csapak
@ 2026-06-09 14:48 ` Fiona Ebner
  2026-06-10 13:43 ` superseded: " Dominik Csapak
  1 sibling, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:48 UTC (permalink / raw)
  To: Dominik Csapak, pve-devel

Am 09.06.26 um 2:11 PM schrieb Dominik Csapak:
> OVMF can only use PXE/network boot when a virtual RNG device is added
> for VMs, but this is not obvious from the UI or the error behavior.
> 
> Add a small warning to the boot order edit that says what is necessary.
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>

Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>

with some optional nits below:

> ---
> changes from v1:
> * removed stray debug log statement..., sry for the noise
> 
>  www/manager6/qemu/BootOrderEdit.js | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
> index 521a3d6e..6ae1f506 100644
> --- a/www/manager6/qemu/BootOrderEdit.js
> +++ b/www/manager6/qemu/BootOrderEdit.js
> @@ -26,6 +26,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>              let grid = me.lookup('grid');
>              let marker = me.lookup('marker');
>              let emptyWarning = me.lookup('emptyWarning');
> +            let rngPxeWarning = me.lookup('rngPxeWarning');
>  
>              marker.originalValue = undefined;
>  
> @@ -43,6 +44,18 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>                          view.inUpdate = false;
>                          marker.checkDirty();
>                          emptyWarning.setHidden(val !== '');
> +
> +                        let showRngPxeWarning = false;
> +                        if (

Style nit: no need for the if block. You can assign the expression directly.

> +                            view.vmconfig?.bios?.toLowerCase().includes('ovmf') &&

Nit: No need for toLowerCase() and includes(), it can just be === 'ovmf'
like we already do in other places?

> +                            !view.vmconfig?.rng0 &&
> +                            val?.includes('net')
> +                        ) {
> +                            showRngPxeWarning = true;
> +                        }
> +
> +                        rngPxeWarning.setHidden(!showRngPxeWarning);
> +
>                          grid.getView().refresh();
>                      },
>                  },
> @@ -238,6 +251,15 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>              userCls: 'pmx-hint',
>              value: gettext('Warning: No devices selected, the VM will probably not boot!'),
>          },
> +        {
> +            xtype: 'displayfield',
> +            reference: 'rngPxeWarning',
> +            userCls: 'pmx-hint',
> +            hidden: true,
> +            value: gettext(
> +                'Warning: PXE boot with OVMF only works when a Virtio RNG device is added!',

Nit: maybe use active voice?
For PXE boot with OVMF, you must add a VirtIO RNG device!

> +            ),
> +        },
>          {
>              // for dirty marking and 'reset' function
>              xtype: 'field',





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf
@ 2026-06-10 13:40 Dominik Csapak
  2026-06-10 13:43 ` Dominik Csapak
  0 siblings, 1 reply; 5+ messages in thread
From: Dominik Csapak @ 2026-06-10 13:40 UTC (permalink / raw)
  To: pve-devel

OVMF can only use PXE/network boot when a virtual RNG device is added
for VMs, but this is not obvious from the UI or the error behavior.

Add a small warning to the boot order edit that says what is necessary.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
changes from v1:
* incorporated fionas feedback (thanks!)
* include r-b trailer from fiona

 www/manager6/qemu/BootOrderEdit.js | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
index 521a3d6e..08e71913 100644
--- a/www/manager6/qemu/BootOrderEdit.js
+++ b/www/manager6/qemu/BootOrderEdit.js
@@ -26,6 +26,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
             let grid = me.lookup('grid');
             let marker = me.lookup('marker');
             let emptyWarning = me.lookup('emptyWarning');
+            let rngPxeWarning = me.lookup('rngPxeWarning');
 
             marker.originalValue = undefined;
 
@@ -43,6 +44,14 @@ Ext.define('PVE.qemu.BootOrderPanel', {
                         view.inUpdate = false;
                         marker.checkDirty();
                         emptyWarning.setHidden(val !== '');
+
+                        let showRngPxeWarning =
+                            view.vmconfig?.bios === 'ovmf' &&
+                            !view.vmconfig?.rng0 &&
+                            val?.includes('net');
+
+                        rngPxeWarning.setHidden(!showRngPxeWarning);
+
                         grid.getView().refresh();
                     },
                 },
@@ -238,6 +247,13 @@ Ext.define('PVE.qemu.BootOrderPanel', {
             userCls: 'pmx-hint',
             value: gettext('Warning: No devices selected, the VM will probably not boot!'),
         },
+        {
+            xtype: 'displayfield',
+            reference: 'rngPxeWarning',
+            userCls: 'pmx-hint',
+            hidden: true,
+            value: gettext('Warning: For PXE boot with OVMF, you must add a VirtIO RNG device!'),
+        },
         {
             // for dirty marking and 'reset' function
             xtype: 'field',
-- 
2.47.3





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf
  2026-06-10 13:40 Dominik Csapak
@ 2026-06-10 13:43 ` Dominik Csapak
  0 siblings, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2026-06-10 13:43 UTC (permalink / raw)
  To: pve-devel

this is actually v3, sorry^^

On 6/10/26 3:41 PM, Dominik Csapak wrote:
> OVMF can only use PXE/network boot when a virtual RNG device is added
> for VMs, but this is not obvious from the UI or the error behavior.
> 
> Add a small warning to the boot order edit that says what is necessary.
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> changes from v1:
> * incorporated fionas feedback (thanks!)
> * include r-b trailer from fiona
> 
>   www/manager6/qemu/BootOrderEdit.js | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
> index 521a3d6e..08e71913 100644
> --- a/www/manager6/qemu/BootOrderEdit.js
> +++ b/www/manager6/qemu/BootOrderEdit.js
> @@ -26,6 +26,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>               let grid = me.lookup('grid');
>               let marker = me.lookup('marker');
>               let emptyWarning = me.lookup('emptyWarning');
> +            let rngPxeWarning = me.lookup('rngPxeWarning');
>   
>               marker.originalValue = undefined;
>   
> @@ -43,6 +44,14 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>                           view.inUpdate = false;
>                           marker.checkDirty();
>                           emptyWarning.setHidden(val !== '');
> +
> +                        let showRngPxeWarning =
> +                            view.vmconfig?.bios === 'ovmf' &&
> +                            !view.vmconfig?.rng0 &&
> +                            val?.includes('net');
> +
> +                        rngPxeWarning.setHidden(!showRngPxeWarning);
> +
>                           grid.getView().refresh();
>                       },
>                   },
> @@ -238,6 +247,13 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>               userCls: 'pmx-hint',
>               value: gettext('Warning: No devices selected, the VM will probably not boot!'),
>           },
> +        {
> +            xtype: 'displayfield',
> +            reference: 'rngPxeWarning',
> +            userCls: 'pmx-hint',
> +            hidden: true,
> +            value: gettext('Warning: For PXE boot with OVMF, you must add a VirtIO RNG device!'),
> +        },
>           {
>               // for dirty marking and 'reset' function
>               xtype: 'field',





^ permalink raw reply	[flat|nested] 5+ messages in thread

* superseded: [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf
  2026-06-09 12:11 [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf Dominik Csapak
  2026-06-09 14:48 ` Fiona Ebner
@ 2026-06-10 13:43 ` Dominik Csapak
  1 sibling, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2026-06-10 13:43 UTC (permalink / raw)
  To: pve-devel

superseded by v3, which i mislabeled as v2:
https://lore.proxmox.com/pve-devel/20260610134117.3100390-1-d.csapak@proxmox.com/

On 6/9/26 2:11 PM, Dominik Csapak wrote:
> OVMF can only use PXE/network boot when a virtual RNG device is added
> for VMs, but this is not obvious from the UI or the error behavior.
> 
> Add a small warning to the boot order edit that says what is necessary.
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> changes from v1:
> * removed stray debug log statement..., sry for the noise
> 
>   www/manager6/qemu/BootOrderEdit.js | 22 ++++++++++++++++++++++
>   1 file changed, 22 insertions(+)
> 
> diff --git a/www/manager6/qemu/BootOrderEdit.js b/www/manager6/qemu/BootOrderEdit.js
> index 521a3d6e..6ae1f506 100644
> --- a/www/manager6/qemu/BootOrderEdit.js
> +++ b/www/manager6/qemu/BootOrderEdit.js
> @@ -26,6 +26,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>               let grid = me.lookup('grid');
>               let marker = me.lookup('marker');
>               let emptyWarning = me.lookup('emptyWarning');
> +            let rngPxeWarning = me.lookup('rngPxeWarning');
>   
>               marker.originalValue = undefined;
>   
> @@ -43,6 +44,18 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>                           view.inUpdate = false;
>                           marker.checkDirty();
>                           emptyWarning.setHidden(val !== '');
> +
> +                        let showRngPxeWarning = false;
> +                        if (
> +                            view.vmconfig?.bios?.toLowerCase().includes('ovmf') &&
> +                            !view.vmconfig?.rng0 &&
> +                            val?.includes('net')
> +                        ) {
> +                            showRngPxeWarning = true;
> +                        }
> +
> +                        rngPxeWarning.setHidden(!showRngPxeWarning);
> +
>                           grid.getView().refresh();
>                       },
>                   },
> @@ -238,6 +251,15 @@ Ext.define('PVE.qemu.BootOrderPanel', {
>               userCls: 'pmx-hint',
>               value: gettext('Warning: No devices selected, the VM will probably not boot!'),
>           },
> +        {
> +            xtype: 'displayfield',
> +            reference: 'rngPxeWarning',
> +            userCls: 'pmx-hint',
> +            hidden: true,
> +            value: gettext(
> +                'Warning: PXE boot with OVMF only works when a Virtio RNG device is added!',
> +            ),
> +        },
>           {
>               // for dirty marking and 'reset' function
>               xtype: 'field',





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-10 13:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09 12:11 [PATCH manager v2] ui: qemu: boot order: warn of missing pxe support for ovmf Dominik Csapak
2026-06-09 14:48 ` Fiona Ebner
2026-06-10 13:43 ` superseded: " Dominik Csapak
  -- strict thread matches above, loose matches on Subject: below --
2026-06-10 13:40 Dominik Csapak
2026-06-10 13:43 ` Dominik Csapak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal