summaryrefslogtreecommitdiff
path: root/src
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 /src
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>
Diffstat (limited to 'src')
-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 {