From 079fc932236a885e1693ba3555b9f01182350e10 Mon Sep 17 00:00:00 2001
From: Neda Moeini <neda.moeini@GA0479-NMOEINI.local>
Date: Fri, 6 Oct 2023 02:34:35 +0200
Subject: [PATCH] Updated create device functionality to install only module
 bays that are mentioned in the device info file.

---
 gso/services/netbox_client.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py
index d5e31fdf..95f1bcfc 100644
--- a/gso/services/netbox_client.py
+++ b/gso/services/netbox_client.py
@@ -125,8 +125,8 @@ class NetBoxClient:
         )
         module_bays = list(self.netbox.dcim.module_bays.filter(device_id=device.id))
         card_type = self.netbox.dcim.module_types.get(model=tier_info.module_type)
-        # TODo: Use the module_bays_slots to create the modules
-        for module_bay in module_bays:
+        valid_module_bays = [bay for bay in module_bays if int(bay.position) in tier_info.module_bays_slots]
+        for module_bay in valid_module_bays:
             self.netbox.dcim.modules.create(
                 device=device.id,
                 module_bay=module_bay.id,
@@ -228,7 +228,7 @@ class NetBoxClient:
 
         # Get the existing lag interfaces for the device
         lag_interface_names = [
-            interface["name"] for interface in self.netbox.dcim.interfaces.filter(device_name=device.id, type="lag")
+            interface["name"] for interface in self.netbox.dcim.interfaces.filter(device=device.name, type="lag")
         ]
 
         # Generate all feasible lags
-- 
GitLab