[pve-devel] [PATCH v2 qemu-server 1/2] parser/writer: namespace pending section
Oguz Bektas
o.bektas at proxmox.com
Thu Oct 24 13:53:08 CEST 2019
to make the pct/qemu config formats more similar, we can namespace the
pending section using the 'pve:' prefix like in pct parser.
the new format is optional in the parser, but default in the writer.
with PVE 7.0, we can make it default in parser too.
Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
---
PVE/QemuServer.pm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 7b225da..8d7994e 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2643,7 +2643,8 @@ sub parse_vm_config {
foreach my $line (@lines) {
next if $line =~ m/^\s*$/;
- if ($line =~ m/^\[PENDING\]\s*$/i) {
+ if ($line =~ m/^\[(?:pve:)?pending\]\s*$/i) {
+ # TODO: make 'pve:' prefix non-optional with PVE 7.0
$section = 'pending';
if (defined($descr)) {
$descr =~ s/\s+$//;
@@ -2684,7 +2685,7 @@ sub parse_vm_config {
if ($section eq 'pending') {
$conf->{delete} = $value; # we parse this later
} else {
- warn "vm $vmid - propertry 'delete' is only allowed in [PENDING]\n";
+ warn "vm $vmid - property 'delete' is only allowed as a pending change\n";
}
} elsif ($line =~ m/^([a-z][a-z_]*\d*):\s*(.+?)\s*$/) {
my $key = $1;
@@ -2750,7 +2751,7 @@ sub write_vm_config {
$key eq 'snapstate' || $key eq 'pending';
my $value = $cref->{$key};
if ($key eq 'delete') {
- die "propertry 'delete' is only allowed in [PENDING]\n"
+ die "property 'delete' is only allowed as a pending change\n"
if !$pending;
# fixme: check syntax?
next;
@@ -2810,7 +2811,7 @@ sub write_vm_config {
my $raw = &$generate_raw_config($conf);
if (scalar(keys %{$conf->{pending}})){
- $raw .= "\n[PENDING]\n";
+ $raw .= "\n[pve:pending]\n";
$raw .= &$generate_raw_config($conf->{pending}, 1);
}
@@ -4820,7 +4821,7 @@ my $fast_plug_option = {
'hookscript' => 1,
};
-# hotplug changes in [PENDING]
+# hotplug changes in [pve:pending]
# $selection hash can be used to only apply specified options, for
# example: { cores => 1 } (only apply changed 'cores')
# $errors ref is used to return error messages
--
2.20.1
More information about the pve-devel
mailing list