From 7a546587107a828778ce172da9c6d5983e75efa0 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 31 Mar 2022 09:03:01 -0400 Subject: [PATCH] Fixes #8978: Fix instantiation of front ports when provisioning a module --- docs/release-notes/version-3.2.md | 1 + netbox/dcim/models/device_component_templates.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.2.md b/docs/release-notes/version-3.2.md index d420b8108..072506a45 100644 --- a/docs/release-notes/version-3.2.md +++ b/docs/release-notes/version-3.2.md @@ -155,6 +155,7 @@ Where it is desired to limit the range of available VLANs within a group, users * [#8872](https://github.com/netbox-community/netbox/issues/8872) - Enable filtering by custom object fields * [#8970](https://github.com/netbox-community/netbox/issues/8970) - Permit nested inventory item templates on device types * [#8976](https://github.com/netbox-community/netbox/issues/8976) - Add missing `object_type` field on CustomField REST API serializer +* [#8978](https://github.com/netbox-community/netbox/issues/8978) - Fix instantiation of front ports when provisioning a module ### Other Changes diff --git a/netbox/dcim/models/device_component_templates.py b/netbox/dcim/models/device_component_templates.py index 0538704d2..01f1cd1be 100644 --- a/netbox/dcim/models/device_component_templates.py +++ b/netbox/dcim/models/device_component_templates.py @@ -280,7 +280,8 @@ class PowerOutletTemplate(ModularComponentTemplateModel): def instantiate(self, **kwargs): if self.power_port: - power_port = PowerPort.objects.get(name=self.power_port.name, **kwargs) + power_port_name = self.power_port.resolve_name(kwargs.get('module')) + power_port = PowerPort.objects.get(name=power_port_name, **kwargs) else: power_port = None return self.component_model( @@ -390,7 +391,8 @@ class FrontPortTemplate(ModularComponentTemplateModel): def instantiate(self, **kwargs): if self.rear_port: - rear_port = RearPort.objects.get(name=self.rear_port.name, **kwargs) + rear_port_name = self.rear_port.resolve_name(kwargs.get('module')) + rear_port = RearPort.objects.get(name=rear_port_name, **kwargs) else: rear_port = None return self.component_model(