]> git.puffer.fish Git - mirror/pve-network.git/commitdiff
partial fix #5496: ipam: netbox: properly return allocated ip
authorStefan Hanreich <s.hanreich@proxmox.com>
Mon, 10 Mar 2025 08:51:01 +0000 (09:51 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 7 Apr 2025 15:43:48 +0000 (17:43 +0200)
The netbox integration did not properly return the IP when creating
the entries in netbox. This lead to errors on starting the guest,
stating that an IP could not be allocated.

Originally-by: lou lecrivain <lou.lecrivain@wdz.de>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Tested-by: Hannes Duerr <h.duerr@proxmox.com>
Link: https://lore.proxmox.com/20250310085103.30549-6-s.hanreich@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/Network/SDN/Ipams/NetboxPlugin.pm

index 8051b3f36832ced55d69e86956aa6352dcf4d2ed..2fa975f199a7bcfb4449f413a210d09218b7dbef 100644 (file)
@@ -172,7 +172,7 @@ sub add_next_freeip {
     my $description = undef;
     $description = "mac:$mac" if $mac;
 
-    eval {
+    my $ip = eval {
        my $result = netbox_api_request($plugin_config, "POST", "/ipam/prefixes/$internalid/available-ips/", {
            dns_name => $hostname,
            description => $description,
@@ -185,6 +185,8 @@ sub add_next_freeip {
     if ($@) {
        die "can't find free ip in subnet $cidr: $@" if !$noerr;
     }
+
+    return $ip;
 }
 
 sub add_range_next_freeip {
@@ -201,7 +203,7 @@ sub add_range_next_freeip {
     my $description = undef;
     $description = "mac:$data->{mac}" if $data->{mac};
 
-    eval {
+    my $ip = eval {
        my $result = netbox_api_request($plugin_config, "POST", "/ipam/ip-ranges/$internalid/available-ips/", {
            dns_name => $data->{hostname},
            description => $description,
@@ -215,6 +217,8 @@ sub add_range_next_freeip {
     if ($@) {
        die "can't find free ip in range $range->{'start-address'}-$range->{'end-address'}: $@" if !$noerr;
     }
+
+    return $ip;
 }
 
 sub del_ip {