]> git.proxmox.com Git - qemu-server.git/commitdiff
cloudinit: remove pending delete on online regenerate image
authorAlexandre Derumier <aderumier@odiso.com>
Sat, 6 Feb 2021 13:39:54 +0000 (14:39 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 6 Feb 2021 13:44:38 +0000 (14:44 +0100)
currently only pending changes are applied when we regenerate
image on a running vm, but not the pending delete.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/QemuServer.pm

index 4d4efd9f02639c7fadd6cc1cc241775b9030019f..f401baffc5e5e9a26b783aa997669b514d03a064 100644 (file)
@@ -4462,6 +4462,13 @@ sub vmconfig_hotplug_pending {
            $conf->{$opt} = delete $conf->{pending}->{$opt};
        }
 
+       my $pending_delete_hash = PVE::QemuConfig->parse_pending_delete($conf->{pending}->{delete});
+       foreach my $opt (sort keys %$pending_delete_hash) {
+           next if !grep { $_ eq $opt } @cloudinit_opts;
+           PVE::QemuConfig->remove_from_pending_delete($conf, $opt);
+           delete $conf->{$opt};
+       }
+
        my $new_conf = { %$conf };
        $new_conf->{$key} = $value;
        PVE::QemuServer::Cloudinit::generate_cloudinitconfig($new_conf, $vmid);