Преглед на файлове

10282 fix race condition in API IP creation

Arthur преди 3 години
родител
ревизия
867af61875
променени са 1 файла, в които са добавени 12 реда и са изтрити 0 реда
  1. 12 0
      netbox/ipam/api/views.py

+ 12 - 0
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')