--- PVE/QemuServer.pm | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 53be830..998f7c8 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4837,6 +4837,10 @@ sub vmconfig_hotplug_pending { $errors->{$opt} = "hotplug problem - $msg"; }; + for my $opt (keys %$confdesc_cloudinit) { + $fast_plug_option->{$opt} = 1; + } + my $changes = 0; foreach my $opt (keys %{$conf->{pending}}) { # add/change if ($fast_plug_option->{$opt}) { @@ -4912,31 +4916,6 @@ sub vmconfig_hotplug_pending { } } - my ($apply_pending_cloudinit, $apply_pending_cloudinit_done); - $apply_pending_cloudinit = sub { - return if $apply_pending_cloudinit_done; # once is enough - $apply_pending_cloudinit_done = 1; # once is enough - - my ($key, $value) = @_; - - my @cloudinit_opts = keys %$confdesc_cloudinit; - foreach my $opt (keys %{$conf->{pending}}) { - next if !grep { $_ eq $opt } @cloudinit_opts; - $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); - }; - foreach my $opt (keys %{$conf->{pending}}) { next if $selection && !$selection->{$opt}; my $value = $conf->{pending}->{$opt}; @@ -4983,7 +4962,7 @@ sub vmconfig_hotplug_pending { # some changes can be done without hotplug my $drive = parse_drive($opt, $value); if (drive_is_cloudinit($drive)) { - &$apply_pending_cloudinit($opt, $value); + PVE::QemuServer::Cloudinit::generate_cloudinitconfig($conf, $vmid); } vmconfig_update_disk($storecfg, $conf, $hotplug_features->{disk}, $vmid, $opt, $value, $arch, $machine_type); -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel