From 8001694a4c373862a1c5d8a8efe1c008b71949f2 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 28 Oct 2022 14:22:31 -0700 Subject: [PATCH] 10282 fix race condition in API IP creation --- netbox/ipam/api/views.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index 9db3d7953..9ea38758d 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -112,6 +112,18 @@ class IPAddressViewSet(NetBoxModelViewSet): serializer_class = serializers.IPAddressSerializer filterset_class = filtersets.IPAddressFilterSet + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def create(self, request, *args, **kwargs): + return super().create(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def update(self, request, *args, **kwargs): + return super().update(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def destroy(self, request, *args, **kwargs): + return super().destroy(request, *args, **kwargs) + class FHRPGroupViewSet(NetBoxModelViewSet): queryset = FHRPGroup.objects.prefetch_related('ip_addresses', 'tags')