public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server] bootorder: don't print empty 'order=' property
@ 2020-10-21  9:00 Stefan Reiter
  2020-10-22  6:47 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Reiter @ 2020-10-21  9:00 UTC (permalink / raw)
  To: pve-devel

Specifying 'boot: order=' was intended to be used for an empty bootorder
(i.e. no boot devices), but as it turns out our format parser doesn't
like empty '-list' properties if they are nested in a subformat.

Fixing this in JSONSchema sounds like a risky move, so instead just
write 'boot: ' (without 'order=') to indicate an empty bootorder. The
rest of the code handles it just fine, as this was valid before too.

Incidentally also fixes a bug where you couldn't create a new VM without
any disks if no explicit 'boot' property was specified (i.e. a simple
'qm create 100' without any parameters would fail).

Reported-by: Dominic Jäger <d.jaeger@proxmox.com>
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
---
 PVE/QemuServer.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 5cf7288..20e284c 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1148,6 +1148,7 @@ sub verify_bootdev {
 
 sub print_bootorder {
     my ($devs) = @_;
+    return "" if !@$devs;
     my $data = { order => join(';', @$devs) };
     return PVE::JSONSchema::print_property_string($data, $boot_fmt);
 }
-- 
2.20.1





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

* [pve-devel] applied: [PATCH qemu-server] bootorder: don't print empty 'order=' property
  2020-10-21  9:00 [pve-devel] [PATCH qemu-server] bootorder: don't print empty 'order=' property Stefan Reiter
@ 2020-10-22  6:47 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2020-10-22  6:47 UTC (permalink / raw)
  To: Proxmox VE development discussion, Stefan Reiter

On 21.10.20 11:00, Stefan Reiter wrote:
> Specifying 'boot: order=' was intended to be used for an empty bootorder
> (i.e. no boot devices), but as it turns out our format parser doesn't
> like empty '-list' properties if they are nested in a subformat.
> 
> Fixing this in JSONSchema sounds like a risky move, so instead just
> write 'boot: ' (without 'order=') to indicate an empty bootorder. The
> rest of the code handles it just fine, as this was valid before too.
> 
> Incidentally also fixes a bug where you couldn't create a new VM without
> any disks if no explicit 'boot' property was specified (i.e. a simple
> 'qm create 100' without any parameters would fail).
> 
> Reported-by: Dominic Jäger <d.jaeger@proxmox.com>
> Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
> ---
>  PVE/QemuServer.pm | 1 +
>  1 file changed, 1 insertion(+)
> 
>

applied, thanks!





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

end of thread, other threads:[~2020-10-22  6:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-21  9:00 [pve-devel] [PATCH qemu-server] bootorder: don't print empty 'order=' property Stefan Reiter
2020-10-22  6:47 ` [pve-devel] applied: " Thomas Lamprecht

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