diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d8bb21d6..e0cca0e4 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2251,8 +2251,16 @@ sub parse_vm_config { $finish_description->(); $conf = $res->{snapshots}->{$section->{name}} = {}; next; + } elsif ($line =~ m/^\[([^\]]*)\]\s*$/i) { + my $unknown_section = $1; + $section = undef; + $finish_description->(); + $handle_error->("vm $vmid - skipping unknown section: '$unknown_section'\n"); + next; } + next if !defined($section); + if ($line =~ m/^\#(.*)$/) { $descr = '' if !defined($descr); $descr .= PVE::Tools::decode_text($1) . "\n"; diff --git a/test/parse-config-expected/unknown-sections.conf b/test/parse-config-expected/unknown-sections.conf index 08f1a3e2..6329c33a 100644 --- a/test/parse-config-expected/unknown-sections.conf +++ b/test/parse-config-expected/unknown-sections.conf @@ -5,7 +5,7 @@ ide2: lvm:vm-120-cloudinit,media=cdrom ipconfig0: ip6=dhcp memory: 4096 meta: creation-qemu=9.0.2,ctime=1725975013 -name: foo +name: deb1223 net0: vmxnet3=BC:24:11:2C:69:EC,bridge=vnet0,firewall=1 numa: 0 ostype: l26 @@ -18,11 +18,11 @@ unused0: rbd:vm-120-disk-0 vmgenid: 7079e97c-50e3-4079-afe7-23e67566b946 [PENDING] -bios: seabios +bios: ovmf [special:cloudinit] ipconfig0: ip=dhcp,ip6=dhcp -name: bar +name: deb122 [foo] boot: order=scsi0 @@ -32,7 +32,7 @@ ide2: lvm:vm-120-cloudinit,media=cdrom ipconfig0: ip=dhcp,ip6=dhcp memory: 4096 meta: creation-qemu=9.0.2,ctime=1725975013 -name: baz +name: deb1223 net0: vmxnet3=BC:24:11:2C:69:EC,bridge=vnet0,firewall=1 numa: 0 ostype: l26 diff --git a/test/parse-config-expected/unknown-sections.conf.strict.error b/test/parse-config-expected/unknown-sections.conf.strict.error index e7004dc9..7f921a70 100644 --- a/test/parse-config-expected/unknown-sections.conf.strict.error +++ b/test/parse-config-expected/unknown-sections.conf.strict.error @@ -1 +1 @@ -vm 8006 - unable to parse config: [special:unknown123] +vm 8006 - skipping unknown section: 'special:unknown123'