Audit for missing pre-change snapshot calls #255

Closed
opened 2026-04-05 16:23:45 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @arthanson on 3/2/2026

Proposed Changes

While working on #21277 noticed several other locations that were missing pre-change snapshots:

# File Line Object Saved
1 netbox/virtualization/views.py 323 Device
2 netbox/dcim/views.py 2727 DeviceBay
3 netbox/dcim/views.py 4093 Device
4 netbox/dcim/views.py 4095 Device
5 netbox/dcim/forms/bulk_import.py 1384 Interface
6 netbox/ipam/forms/bulk_import.py 429 Device / VirtualMachine
7 netbox/ipam/forms/bulk_import.py 435 Device

These need to be audited and double check if there are any more missing.

Justification

Missing this call will prevent pre-change data from getting recorded in the changelog and can cause issues in migrations.

*Originally created by @arthanson on 3/2/2026* ### Proposed Changes While working on #21277 noticed several other locations that were missing pre-change snapshots: | # | File | Line | Object Saved | |---|----------------------------------|------|-------------------------| | 1 | netbox/virtualization/views.py | 323 | Device | | 2 | netbox/dcim/views.py | 2727 | DeviceBay | | 3 | netbox/dcim/views.py | 4093 | Device | | 4 | netbox/dcim/views.py | 4095 | Device | | 5 | netbox/dcim/forms/bulk_import.py | 1384 | Interface | | 6 | netbox/ipam/forms/bulk_import.py | 429 | Device / VirtualMachine | | 7 | netbox/ipam/forms/bulk_import.py | 435 | Device | These need to be audited and double check if there are any more missing. ### Justification Missing this call will prevent pre-change data from getting recorded in the changelog and can cause issues in migrations.
MrUnknownDE added the status: acceptedtype: bugstatus: acceptedstatus: acceptedstatus: acceptednetboxseverity: mediumstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugseverity: mediumseverity: mediumseverity: mediumseverity: mediumseverity: mediumnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetbox labels 2026-04-05 16:23:48 +02:00
Sign in to join this conversation.
No Label netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox severity: medium severity: medium severity: medium severity: medium severity: medium severity: medium status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#255