mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Merge branch 'develop' into develop-2.10
This commit is contained in:
commit
6773709c34
@ -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):
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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'),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -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(
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user