summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hanreich <s.hanreich@proxmox.com>2025-03-10 09:51:01 +0100
committerThomas Lamprecht <t.lamprecht@proxmox.com>2025-04-07 17:43:48 +0200
commitf36174e0722d82ea5473c17c3d901e30899fcb7b (patch)
treeae29796f1d2c916a3a22abed3564c8c3609d535f
parentb673a106c5b25a5d9e2586c51be764bfb01df506 (diff)
partial fix #5496: ipam: netbox: properly return allocated ip
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>
-rw-r--r--src/PVE/Network/SDN/Ipams/NetboxPlugin.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/PVE/Network/SDN/Ipams/NetboxPlugin.pm b/src/PVE/Network/SDN/Ipams/NetboxPlugin.pm
index 8051b3f..2fa975f 100644
--- a/src/PVE/Network/SDN/Ipams/NetboxPlugin.pm
+++ b/src/PVE/Network/SDN/Ipams/NetboxPlugin.pm
@@ -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 {