we want only 1 format for ipam database Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/Network/SDN/Dns/PowerdnsPlugin.pm | 3 +-- PVE/Network/SDN/Ipams/PVEPlugin.pm | 5 +++-- PVE/Network/SDN/Subnets.pm | 9 ++++++++- 3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/PVE/Network/SDN/Dns/PowerdnsPlugin.pm b/PVE/Network/SDN/Dns/PowerdnsPlugin.pm index b00432e..3fbd595 100644 --- a/PVE/Network/SDN/Dns/PowerdnsPlugin.pm +++ b/PVE/Network/SDN/Dns/PowerdnsPlugin.pm @@ -7,8 +7,7 @@ use PVE::Cluster; use PVE::Tools; use JSON; use Net::IP; -use NetAddr::IP; - +use NetAddr::IP qw(:lower); use base('PVE::Network::SDN::Dns::Plugin'); sub type { diff --git a/PVE/Network/SDN/Ipams/PVEPlugin.pm b/PVE/Network/SDN/Ipams/PVEPlugin.pm index e4c9ef7..a2e7d86 100644 --- a/PVE/Network/SDN/Ipams/PVEPlugin.pm +++ b/PVE/Network/SDN/Ipams/PVEPlugin.pm @@ -6,7 +6,8 @@ use PVE::INotify; use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_register_file cfs_lock_file); use PVE::Tools; use JSON; -use NetAddr::IP; +use NetAddr::IP qw(:lower); + use Net::IP; use Digest::SHA; @@ -134,7 +135,7 @@ sub add_next_freeip { while(1) { $iplist++; last if $iplist eq $broadcast; - my $ip = $iplist->addr(); + my $ip = $iplist->canon(); next if defined($dbsubnet->{ips}->{$ip}); $freeip = $ip; last; diff --git a/PVE/Network/SDN/Subnets.pm b/PVE/Network/SDN/Subnets.pm index 74a538c..81970a1 100644 --- a/PVE/Network/SDN/Subnets.pm +++ b/PVE/Network/SDN/Subnets.pm @@ -5,6 +5,7 @@ use warnings; use Net::Subnet qw(subnet_matcher); use Net::IP; +use NetAddr::IP qw(:lower); use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_lock_file); use PVE::Network::SDN::Dns; @@ -213,6 +214,9 @@ sub add_ip { return if !$subnet || !$ip; + my $ipaddr = new NetAddr::IP($ip); + $ip = $ipaddr->canon(); + my $ipamid = $zone->{ipam}; my $dns = $zone->{dns}; my $dnszone = $zone->{dnszone}; @@ -255,7 +259,10 @@ sub add_ip { sub del_ip { my ($zone, $subnetid, $subnet, $ip, $hostname) = @_; - return if !$subnet; + return if !$subnet || !$ip; + + my $ipaddr = new NetAddr::IP($ip); + $ip = $ipaddr->canon(); my $ipamid = $zone->{ipam}; my $dns = $zone->{dns}; -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel