Skip to content

Commit 63b746c

Browse files
authored
Merge pull request #134 from networktocode/mzb-develop-fix-93
Fix Issue #93
2 parents 35912e8 + b4eada1 commit 63b746c

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from django.db import migrations
2+
3+
4+
def create_missing_onboardingdevice(apps, schema_editor):
5+
Device = apps.get_model("dcim", "Device")
6+
OnboardingDevice = apps.get_model("netbox_onboarding", "OnboardingDevice")
7+
8+
for device in Device.objects.filter(onboardingdevice__isnull=True):
9+
OnboardingDevice.objects.create(device=device)
10+
11+
12+
class Migration(migrations.Migration):
13+
14+
dependencies = [
15+
("netbox_onboarding", "0003_onboardingtask_change_logging_model"),
16+
]
17+
18+
operations = [
19+
migrations.RunPython(create_missing_onboardingdevice),
20+
]

netbox_onboarding/worker.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
@REQUEST_TIME.time()
3838
@job("default")
39-
def onboard_device(task_id, credentials): # pylint: disable=too-many-statements
39+
def onboard_device(task_id, credentials): # pylint: disable=too-many-statements, too-many-branches
4040
"""Process a single OnboardingTask instance."""
4141
username = credentials.username
4242
password = credentials.password
@@ -108,6 +108,10 @@ def onboard_device(task_id, credentials): # pylint: disable=too-many-statements
108108
ot.save()
109109
onboarding_status = False
110110

111+
finally:
112+
if onboarded_device and not OnboardingDevice.objects.filter(device=onboarded_device):
113+
OnboardingDevice.objects.create(device=onboarded_device)
114+
111115
onboardingtask_results_counter.labels(status=ot.status).inc()
112116

113117
return dict(ok=onboarding_status)

0 commit comments

Comments
 (0)