From c6bc1fbbc89c3def914760e45cbd49eff19d6fbe Mon Sep 17 00:00:00 2001 From: ndom91 Date: Sat, 10 Oct 2020 21:02:56 +0200 Subject: [PATCH 1/2] add: fix for missing powerport when multiple are available i.e. AP7721 template --- nb-dt-import.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/nb-dt-import.py b/nb-dt-import.py index 80ecf7a4..cb605111 100644 --- a/nb-dt-import.py +++ b/nb-dt-import.py @@ -178,13 +178,16 @@ def createPowerOutlets(poweroutlets, deviceType, nb): if poGet: print(f'Power Outlet Template Exists: {poGet.name} - {poGet.type} - {poGet.device_type.id} - {poGet.id}') else: - ppGet = nb.dcim.power_port_templates.get(devicetype_id=deviceType) - if ppGet: - poweroutlet["power_port"] = ppGet.id - poweroutlet["device_type"] = deviceType - poSuccess = nb.dcim.power_outlet_templates.create(poweroutlet) - print(f'Power Outlet Created: {poSuccess.name} - {poSuccess.type} - {poSuccess.device_type.id} - {poSuccess.id}') - counter.update({'updated':1}) + try: + ppGet = nb.dcim.power_port_templates.get(devicetype_id=deviceType) + if ppGet: + poweroutlet["power_port"] = ppGet.id + poweroutlet["device_type"] = deviceType + poSuccess = nb.dcim.power_outlet_templates.create(poweroutlet) + print(f'Power Outlet Created: {poSuccess.name} - {poSuccess.type} - {poSuccess.device_type.id} - {poSuccess.id}') + counter.update({'updated':1}) + except: + print(f'Error assining Power Port to Power Outlet in Outlet: {poweroutlet["name"]}') except pynetbox.RequestError as e: print(e.error) From 16b922b38388583be89ffa8cb0785aa02cdfc1a0 Mon Sep 17 00:00:00 2001 From: ndom91 Date: Sat, 10 Oct 2020 21:12:53 +0200 Subject: [PATCH 2/2] fix: create poweroutlet with unambiguous powerport --- nb-dt-import.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nb-dt-import.py b/nb-dt-import.py index cb605111..3cf52198 100644 --- a/nb-dt-import.py +++ b/nb-dt-import.py @@ -185,9 +185,12 @@ def createPowerOutlets(poweroutlets, deviceType, nb): poweroutlet["device_type"] = deviceType poSuccess = nb.dcim.power_outlet_templates.create(poweroutlet) print(f'Power Outlet Created: {poSuccess.name} - {poSuccess.type} - {poSuccess.device_type.id} - {poSuccess.id}') - counter.update({'updated':1}) + counter.update({'updated':1}) except: - print(f'Error assining Power Port to Power Outlet in Outlet: {poweroutlet["name"]}') + poweroutlet["device_type"] = deviceType + poSuccess = nb.dcim.power_outlet_templates.create(poweroutlet) + print(f'Power Outlet Created: {poSuccess.name} - {poSuccess.type} - {poSuccess.device_type.id} - {poSuccess.id}') + counter.update({'updated':1}) except pynetbox.RequestError as e: print(e.error)