From 7c667f3485fb8d266cdcdcfa034f9f25ad5c5b84 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 7 Jul 2021 11:55:20 -0400 Subject: [PATCH 1/5] Fixes #6710: Fix assignment of VM interface parent via REST API --- docs/release-notes/version-2.11.md | 8 ++++++++ netbox/dcim/tests/test_api.py | 3 ++- netbox/virtualization/api/nested_serializers.py | 5 ++--- netbox/virtualization/tests/test_api.py | 1 + 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index c5a500698..8ed901918 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -1,5 +1,13 @@ # NetBox v2.11 +## v2.11.9 (FUTURE) + +### Bug Fixes + +* [#6710](https://github.com/netbox-community/netbox/issues/6710) - Fix assignment of VM interface parent via REST API + +--- + ## v2.11.8 (2021-07-06) ### Enhancements diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index 5e7f44203..9b5448e95 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -1211,8 +1211,9 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase { 'device': device.pk, 'name': 'Interface 6', - 'type': '1000base-t', + 'type': 'virtual', 'mode': InterfaceModeChoices.MODE_TAGGED, + 'parent': interfaces[0].pk, 'tagged_vlans': [vlans[0].pk, vlans[1].pk], 'untagged_vlan': vlans[2].pk, }, diff --git a/netbox/virtualization/api/nested_serializers.py b/netbox/virtualization/api/nested_serializers.py index aa0a9437e..16e10b5fd 100644 --- a/netbox/virtualization/api/nested_serializers.py +++ b/netbox/virtualization/api/nested_serializers.py @@ -1,8 +1,7 @@ from rest_framework import serializers -from dcim.models import Interface from netbox.api import WritableNestedSerializer -from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine +from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface __all__ = [ 'NestedClusterGroupSerializer', @@ -61,5 +60,5 @@ class NestedVMInterfaceSerializer(WritableNestedSerializer): virtual_machine = NestedVirtualMachineSerializer(read_only=True) class Meta: - model = Interface + model = VMInterface fields = ['id', 'url', 'display', 'virtual_machine', 'name'] diff --git a/netbox/virtualization/tests/test_api.py b/netbox/virtualization/tests/test_api.py index bcf3195f2..cb45a192a 100644 --- a/netbox/virtualization/tests/test_api.py +++ b/netbox/virtualization/tests/test_api.py @@ -251,6 +251,7 @@ class VMInterfaceTest(APIViewTestCases.APIViewTestCase): { 'virtual_machine': virtualmachine.pk, 'name': 'Interface 6', + 'parent': interfaces[0].pk, 'mode': InterfaceModeChoices.MODE_TAGGED, 'tagged_vlans': [vlans[0].pk, vlans[1].pk], 'untagged_vlan': vlans[2].pk, From 54dfa6cb7fce89b75d64e2638a000e313ef9e533 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 7 Jul 2021 15:38:59 -0400 Subject: [PATCH 2/5] Fixes #6714: Fix rendering of device type component creation forms --- docs/release-notes/version-2.11.md | 1 + netbox/templates/dcim/device_component_add.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 8ed901918..eac4bd90d 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -5,6 +5,7 @@ ### Bug Fixes * [#6710](https://github.com/netbox-community/netbox/issues/6710) - Fix assignment of VM interface parent via REST API +* [#6714](https://github.com/netbox-community/netbox/issues/6714) - Fix rendering of device type component creation forms --- diff --git a/netbox/templates/dcim/device_component_add.html b/netbox/templates/dcim/device_component_add.html index 0937cc371..16cf267d0 100644 --- a/netbox/templates/dcim/device_component_add.html +++ b/netbox/templates/dcim/device_component_add.html @@ -26,7 +26,7 @@ {{ field }} {% endfor %} {% for field in form.visible_fields %} - {% if field.name not in form.custom_fields %} + {% if not form.custom_fields or field.name not in form.custom_fields %} {% render_field field %} {% endif %} {% endfor %} From 28ca815c8855b06e4250e7610fadc7c968c91dcb Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 8 Jul 2021 08:41:59 -0400 Subject: [PATCH 3/5] Fixes #6456: API schema type should be boolean for _occupied on cable termination models --- docs/release-notes/version-2.11.md | 1 + netbox/dcim/api/serializers.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index eac4bd90d..dfe92425f 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -4,6 +4,7 @@ ### Bug Fixes +* [#6456](https://github.com/netbox-community/netbox/issues/6456) - API schema type should be boolean for `_occupied` on cable termination models * [#6710](https://github.com/netbox-community/netbox/issues/6710) - Fix assignment of VM interface parent via REST API * [#6714](https://github.com/netbox-community/netbox/issues/6714) - Fix rendering of device type component creation forms diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 377449140..d9b36e9f2 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -25,6 +25,7 @@ from .nested_serializers import * class CableTerminationSerializer(serializers.ModelSerializer): cable_peer_type = serializers.SerializerMethodField(read_only=True) cable_peer = serializers.SerializerMethodField(read_only=True) + _occupied = serializers.SerializerMethodField(read_only=True) def get_cable_peer_type(self, obj): if obj._cable_peer is not None: @@ -42,6 +43,10 @@ class CableTerminationSerializer(serializers.ModelSerializer): return serializer(obj._cable_peer, context=context).data return None + @swagger_serializer_method(serializer_or_field=serializers.BooleanField) + def get__occupied(self, obj): + return obj._occupied + class ConnectedEndpointSerializer(serializers.ModelSerializer): connected_endpoint_type = serializers.SerializerMethodField(read_only=True) From e8e3e9b0be5f2a9c430e3771cd4522be2283ac0d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 8 Jul 2021 09:01:40 -0400 Subject: [PATCH 4/5] Release v2.11.9 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-2.11.md | 2 +- netbox/netbox/settings.py | 2 +- requirements.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 640a3fd39..97b55b285 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -17,7 +17,7 @@ body: What version of NetBox are you currently running? (If you don't have access to the most recent NetBox release, consider testing on our [demo instance](https://demo.netbox.dev/) before opening a bug report to see if your issue has already been addressed.) - placeholder: v2.11.8 + placeholder: v2.11.9 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 760d74298..bfb0cc7aa 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v2.11.8 + placeholder: v2.11.9 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index dfe92425f..1ff9a8483 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -1,6 +1,6 @@ # NetBox v2.11 -## v2.11.9 (FUTURE) +## v2.11.9 (2021-07-08) ### Bug Fixes diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index ae37ceed0..2db448360 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -16,7 +16,7 @@ from django.core.validators import URLValidator # Environment setup # -VERSION = '2.11.9-dev' +VERSION = '2.11.9' # Hostname HOSTNAME = platform.node() diff --git a/requirements.txt b/requirements.txt index e2b210fa7..d35cba435 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ gunicorn==20.1.0 Jinja2==3.0.1 Markdown==3.3.4 netaddr==0.8.0 -Pillow==8.3.0 +Pillow==8.3.1 psycopg2-binary==2.9.1 pycryptodome==3.10.1 PyYAML==5.4.1 From ec5ed17860542544ba4205cdcbf651e93c1e6ca5 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 8 Jul 2021 09:21:35 -0400 Subject: [PATCH 5/5] PRVB --- netbox/netbox/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 2db448360..7d4b570c2 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -16,7 +16,7 @@ from django.core.validators import URLValidator # Environment setup # -VERSION = '2.11.9' +VERSION = '2.11.10-dev' # Hostname HOSTNAME = platform.node()