Merge branch 'develop' into develop-2.10

This commit is contained in:
Jeremy Stretch 2020-11-17 14:35:06 -05:00
commit 6773709c34
6 changed files with 29 additions and 7 deletions

View File

@ -103,14 +103,18 @@ any work that's already in progress.
be assigned to you so that others are aware it's being worked on. A maintainer be assigned to you so that others are aware it's being worked on. A maintainer
will then mark the issue as "accepted." will then mark the issue as "accepted."
* Any pull request which does _not_ relate to an accepted issue will be closed. * Any pull request which does _not_ relate to an **accepted** issue will be closed.
* All major new functionality must include relevant tests where applicable. * All new functionality must include relevant tests where applicable.
* When submitting a pull request, please be sure to work off of the `develop` * When submitting a pull request, please be sure to work off of the `develop`
branch, rather than `master`. The `develop` branch is used for ongoing branch, rather than `master`. The `develop` branch is used for ongoing
development, while `master` is used for tagging stable releases. development, while `master` is used for tagging stable releases.
* In most cases, it is not necessary to add a changelog entry: A maintainer will
take care of this when the PR is merged. (This helps avoid merge conflicts
resulting from multiple PRs being submitted simultaneously.)
* All code submissions should meet the following criteria (CI will enforce * All code submissions should meet the following criteria (CI will enforce
these checks): these checks):

View File

@ -1,5 +1,19 @@
# NetBox v2.9 # NetBox v2.9
## v2.9.10 (FUTURE)
### Enhancements
* [#5337](https://github.com/netbox-community/netbox/issues/5337) - Add "splice" type for pass-through ports
### Bug Fixes
* [#5235](https://github.com/netbox-community/netbox/issues/5235) - Fix exception when editing IP address with a NAT IP assigned to a non-racked device
* [#5345](https://github.com/netbox-community/netbox/issues/5345) - Fix non-deterministic ordering of prefixes and IP addresses
* [#5350](https://github.com/netbox-community/netbox/issues/5350) - Filter available racks by selected group when creating a rack reservation
---
## v2.9.9 (2020-11-09) ## v2.9.9 (2020-11-09)
### Enhancements ### Enhancements
@ -17,7 +31,6 @@
* [#5328](https://github.com/netbox-community/netbox/issues/5328) - Fix CreatedUpdatedFilterTest when running in non-UTC timezone * [#5328](https://github.com/netbox-community/netbox/issues/5328) - Fix CreatedUpdatedFilterTest when running in non-UTC timezone
* [#5331](https://github.com/netbox-community/netbox/issues/5331) - Fix filtering of sites by null region * [#5331](https://github.com/netbox-community/netbox/issues/5331) - Fix filtering of sites by null region
--- ---
## v2.9.8 (2020-10-30) ## v2.9.8 (2020-10-30)

View File

@ -856,6 +856,7 @@ class PortTypeChoices(ChoiceSet):
TYPE_MPO = 'mpo' TYPE_MPO = 'mpo'
TYPE_LSH = 'lsh' TYPE_LSH = 'lsh'
TYPE_LSH_APC = 'lsh-apc' TYPE_LSH_APC = 'lsh-apc'
TYPE_SPLICE = 'splice'
CHOICES = ( CHOICES = (
( (
@ -883,6 +884,7 @@ class PortTypeChoices(ChoiceSet):
(TYPE_SC, 'SC'), (TYPE_SC, 'SC'),
(TYPE_SC_APC, 'SC/APC'), (TYPE_SC_APC, 'SC/APC'),
(TYPE_ST, 'ST'), (TYPE_ST, 'ST'),
(TYPE_SPLICE, 'Splice'),
) )
) )
) )

View File

@ -741,7 +741,7 @@ class RackReservationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
display_field='display_name', display_field='display_name',
query_params={ query_params={
'site_id': '$site', 'site_id': '$site',
'group_id': '$rack', 'group_id': '$rack_group',
} }
) )
units = NumericArrayField( units = NumericArrayField(

View File

@ -90,7 +90,9 @@ class RoleViewSet(ModelViewSet):
# #
class PrefixViewSet(CustomFieldModelViewSet): 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 serializer_class = serializers.PrefixSerializer
filterset_class = filters.PrefixFilterSet filterset_class = filters.PrefixFilterSet
@ -260,7 +262,7 @@ class PrefixViewSet(CustomFieldModelViewSet):
class IPAddressViewSet(CustomFieldModelViewSet): class IPAddressViewSet(CustomFieldModelViewSet):
queryset = IPAddress.objects.prefetch_related( queryset = IPAddress.objects.prefetch_related(
'vrf__tenant', 'tenant', 'nat_inside', 'nat_outside', 'tags', 'assigned_object' 'vrf__tenant', 'tenant', 'nat_inside', 'nat_outside', 'tags', 'assigned_object'
) ).order_by(*IPAddress._meta.ordering)
serializer_class = serializers.IPAddressSerializer serializer_class = serializers.IPAddressSerializer
filterset_class = filters.IPAddressFilterSet filterset_class = filters.IPAddressFilterSet

View File

@ -752,7 +752,8 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldModel
nat_inside_parent = instance.nat_inside.assigned_object nat_inside_parent = instance.nat_inside.assigned_object
if type(nat_inside_parent) is Interface: if type(nat_inside_parent) is Interface:
initial['nat_site'] = nat_inside_parent.device.site.pk initial['nat_site'] = nat_inside_parent.device.site.pk
initial['nat_rack'] = nat_inside_parent.device.rack.pk if nat_inside_parent.device.rack:
initial['nat_rack'] = nat_inside_parent.device.rack.pk
initial['nat_device'] = nat_inside_parent.device.pk initial['nat_device'] = nat_inside_parent.device.pk
elif type(nat_inside_parent) is VMInterface: elif type(nat_inside_parent) is VMInterface:
initial['nat_cluster'] = nat_inside_parent.virtual_machine.cluster.pk initial['nat_cluster'] = nat_inside_parent.virtual_machine.cluster.pk