[pve-devel] [WIP v3 qemu-server 22/22] vm_destroy: delete ip from ipam && dhcp
Stefan Hanreich
s.hanreich at proxmox.com
Tue Nov 14 19:06:20 CET 2023
From: Alexandre Derumier <aderumier at odiso.com>
Co-Authored-By: Stefan Hanreich <s.hanreich at proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---
PVE/QemuServer.pm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index fecdb9c..c9c061c 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2342,6 +2342,9 @@ sub destroy_vm {
});
}
+ eval { delete_ifaces_ipams_ips($conf, $vmid)};
+ warn $@ if $@;
+
if (defined $replacement_conf) {
PVE::QemuConfig->write_config($vmid, $replacement_conf);
} else {
@@ -6153,6 +6156,18 @@ sub cleanup_pci_devices {
PVE::QemuServer::PCI::remove_pci_reservation($vmid);
}
+sub cleanup_sdn_dhcp {
+ my ($vmid, $conf) = @_;
+
+ for my $k (keys %$conf) {
+ next if $k !~ /^net(\d+)/;
+ my $netconf = $conf->{$k};
+ my $net = PVE::QemuServer::parse_net($netconf);
+
+ PVE::Network::SDN::Dhcp::remove_mapping($net->{bridge}, $net->{macaddr});
+ }
+}
+
sub vm_stop_cleanup {
my ($storecfg, $vmid, $conf, $keepActive, $apply_pending_changes) = @_;
@@ -6186,6 +6201,8 @@ sub vm_stop_cleanup {
cleanup_pci_devices($vmid, $conf);
+ cleanup_sdn_dhcp($vmid, $conf);
+
vmconfig_apply_pending($vmid, $conf, $storecfg) if $apply_pending_changes;
};
warn $@ if $@; # avoid errors - just warn
--
2.39.2
More information about the pve-devel
mailing list