From 89229af914c99eb9cf68d8b7b50dc197c45bfab1 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Fri, 17 Nov 2023 12:40:02 +0100 Subject: [PATCH] vm_destroy: delete ip from ipam Co-Authored-By: Stefan Hanreich Signed-off-by: Stefan Hanreich Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index e499860..2d72513 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2363,6 +2363,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 { @@ -8673,4 +8676,18 @@ sub create_ifaces_ipams_ips { } } +sub delete_ifaces_ipams_ips { + my ($conf, $vmid) = @_; + + return if !$have_sdn; + + foreach my $opt (keys %$conf) { + if ($opt =~ m/^net(\d+)$/) { + my $net = PVE::QemuServer::parse_net($conf->{$opt}); + eval { PVE::Network::SDN::Vnets::del_ips_from_mac($net->{bridge}, $net->{macaddr}, $conf->{name}) }; + warn $@ if $@; + } + } +} + 1; -- 2.39.2