From 9f8f9e8b97e2b42221000afe74619d25cb698b87 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 16 Nov 2020 10:17:05 -0500 Subject: [PATCH] Fixes #5345: Fix non-deterministic ordering of prefixes and IP addresses --- docs/release-notes/version-2.9.md | 4 ++++ netbox/ipam/api/views.py | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md index 367486017..ca255f9d0 100644 --- a/docs/release-notes/version-2.9.md +++ b/docs/release-notes/version-2.9.md @@ -6,6 +6,10 @@ * [#5337](https://github.com/netbox-community/netbox/issues/5337) - Add "splice" type for pass-through ports +### Bug Fixes + +* [#5345](https://github.com/netbox-community/netbox/issues/5345) - Fix non-deterministic ordering of prefixes and IP addresses + --- ## v2.9.9 (2020-11-09) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index dd0731bb8..c296fd912 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -78,7 +78,9 @@ class RoleViewSet(ModelViewSet): # class PrefixViewSet(CustomFieldModelViewSet): - queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role', 'tags') + queryset = Prefix.objects.prefetch_related( + 'site', 'vrf__tenant', 'tenant', 'vlan', 'role', 'tags' + ).order_by(*Prefix._meta.ordering) serializer_class = serializers.PrefixSerializer filterset_class = filters.PrefixFilterSet @@ -248,7 +250,7 @@ class PrefixViewSet(CustomFieldModelViewSet): class IPAddressViewSet(CustomFieldModelViewSet): queryset = IPAddress.objects.prefetch_related( 'vrf__tenant', 'tenant', 'nat_inside', 'nat_outside', 'tags', 'assigned_object' - ) + ).order_by(*IPAddress._meta.ordering) serializer_class = serializers.IPAddressSerializer filterset_class = filters.IPAddressFilterSet