All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- 🔧 Setting default settings for all required settings. (
c99bcbc
) - 🐛 Validate using Device ID instead of name (
e8ebe04
)
- ✨ Set Master device OS version to same as first device in stack. (
8a8fa07
)
- 🐛 Ensure Hardware Model name doesn't have trailing dash. (
674a75d
) - 🐛 Correct creationg of tags list for IPAddress so it doesn't result in None. (
f3386c1
) - 🐛 Correct how to pull version from RelationshipAssociation for DLC App (
dac6c9b
) - 🐛 Correct CustomFields create/update to ensure name & slug use underscore and not dashes. (
58a0888
) - 🐛 Use getattr, not hasattr (
aa59fe9
) - 🐛 Use attrs device value for finding Interface and logging when updating Device for IPAddr. (
5dded08
) - 🐛 Add exception handling for ValidationError in IPAddress updates. (
47311fc
) - 🐛 Add check for IPAddress being assigned before setting primary on Device. (
7affe2c
) - 🐛 Do validated save when changing Interface to ensure done for primary update. (
7cb7ef1
) - 🐛 Add step to unassign primary IP if update has a device change. (
110572e
) - 🐛 Add check for version defined when assigning master device a version (
2853dae
) - 🐛 Correct var used in log statement (
6d7ab67
) - Save IPAddress when updating device/intf. (
9d61025
) - 🐛 Update IPAddress primary update to update immediately instead of at end of Job. (
4ffd8de
) - Correct var to pop is vlan, not the ID (
d56ca3b
) - ♻️ Redo how newly created VLANs on Ports are handled. (
920e788
) - 🐛 Ensure tags are pulled in query for ports with VLANs. (
0137004
) - 🐛 Set default role_color to empty string instead of None for typing (
ba3ca96
) - 🐛 Don't slugify CustomField name, specify slug of name. Simplify method. (
27174e7
) - Ensure MTU of 1500 is used as default to match Nautobot. (
19fa7c7
) - 🐛 Correct port status to decommissioning, also handle port with only up_admin. (
c408a3b
) - 🐛 Ensure that IP Address is assigned to device to mark as primary. (
8426b07
) - ♻️ Change VLAN tagging to occur in sync_complete. (
ffc1c1a
) - 🐛 Change tagged VLAN assignment to set with list of VLANs. (
6367d9d
) - Ensure site_name is slug form everywhere so everything aligns (
9be1ea7
) - 🐛 Add check if VLAN was added to objects_to_create and do validated_save so port update works. (
c45c8b9
) - 🐛 Add check for VLAN loaded and if not, load one to ensure there's one to be tagged. (
21363cc
)
- 🧑💻 Add logging statement if IPAddress to be marked primary shows unassigned. (
09bd75e
) - ♻️ Redo logs to show device name or address in failure instead of UUID. (
1c3bd36
) - 🚨 Add err to log statement (
b180262
) - 🔊 Move logs about being unable to find port from behind debug. (
57689c6
) - 🔊 Correct log to use subnet object for full CIDR being deleted. (
6370642
) - 🔊 Remove debug check for log of skipping device for DNS queries. (
371d48e
) - 🧑💻 Add additional logging during DNS check process. (
70e57f3
) - 📝 Fix docstring (
2819ed4
) - 🧑💻 Add some logging so user is aware Port is being updated. (
44f4836
) - 📝 Fix project name in links (
46656a3
) - 📝 Fix links for CHANGELOG (
5860377
)
- ⚡️ Adding select_related to Nautobot load functions to improve speed of pulling data. (
53b9190
)
- Use base model instead of Nautobot to avoid circular import (
ddf0711
) - Correct get to use NautobotDevice (
ee59ebe
) - Ensure latitude/longitude are float and not Decimal (
74e2d77
) - Correct vars in update log message (
c280247
) - Don't look for site if slug is global (
b7e9006
) - Ensure all VLANs attribute are list for diff (
bd6ec33
) - 🐛 Correct port update method for VLAN tagging to use verify_vlan method (
a2cc368
) - Use empty list instead of None (
98d95b3
) - 🐛 VLANs attribute can't be set, must be list to be serializable (
97a0052
) - 🐛 Add tags to VLAN model (
acffb9b
) - ♻️ Change get_random_color to use f-string (
77eb6c9
)
- 📝 Add log for declaring end of Sync in post_run (
054932e
)
- ✨ Add bulk_import toggle to Job and update sync_complete to do bulk if toggled else individual. (
950469c
) - ✨ Make a method for updating tags on all tagged objects, update all models to use (
c8d12bc
) - ✨ Add port hwaddress to get_ip_addrs query. (
10b7722
)
- 🐛 Make Half Depth default for patch panel hardware to match Nautobot (
5c54d64
) - 🐛 Don't document IPs on Devices that aren't imported. (
6c2085d
) - 🐛 Ensure that CustomFields are updated and not just new ones. (
f511f5a
) - ♻️ Move VRF, VLAN, and Prefix creation to happen before clusters & devices (
ed18f2a
) - Corrections for new IP Address to ensure diff lines up (
9d3bd82
) - Set defaults for part_number and custom_fields for Patch Panel hardware (
3af050c
) - Correct key name to custom_fields (
ca58477
) - It's supposed to be a tuple dummy! (
cab12ed
) - 🐛 Fix variable name to not conflict with method name (
aa8d9d6
) - Add handling for potentially missing VC or device (
114961d
) - Ensure part_number lines up in diff (
06c74ad
) - Use kwargs for dry_run (
e82a5db
) - Should use dry_run, not commit (
6345081
) - Try to ensure that new VC position isn't used (
2a1440d
) - Ensure VC position is set if new VC set (
f9aaa23
) - Handle changing rack but not room (
e042d72
) - Ensure part number lines up in diff (
3dc6bb0
) - Only have sync happen if not a dry-run (
e81b164
) - 🐛 Make sync happen outside normal Job so it's not atomic (
08b070c
) - 🐛 Correct key for objects_to_create to rooms when checking to create RackGroups. (
3a1833f
) - Reduce batch sizes to 50 so we aren't overwhelming DB (
e91515d
) - Remove unnecessary passing to method (
f655a88
) - Correct port CustomField reference (
448e7a6
) - 🐛 Update all CRUD ops to work with new CF format. Also fixed all the tests to use new dict format. (
418f117
) - Add update for role if it's Unknown and tags (
b07f3b9
) - ♻️ Redo verify_platform method to create Platforms correctly and add tests validating. (
10204cc
) - ♻️ Redo verify_platform to handle IOSXR and other Cisco platforms. (
cffa58b
) - 🔊 Correct DeviceType log to use model instead of name. (
0f4e3af
) - ⏪️ Revert var back to not have id attribute as unneeded. (
9f82d33
) - 🐛 Corect assigned_object_type and id for updating IPAddress interface (
a21aa27
)
- 📝 Make log statement more informative for IPs on clusters (
5ba43fd
) - 🧑💻 Improve logging so user knows what's happening during Job execution. (
123ae56
) - 🧑💻 Tweak the logging to be more informational for user. (
91a3a83
) - 🔊 Improve logging for CRUD ops so it no longer looks like the Job has hung if not in debug. (
040b022
)
- 🔥 Remove members as cluster attribute. (
e611f0f
)
- 🐛 Set Nautobot minimum version to 1.4.0 for Interface Status support (
c3d6305
) - 🐛 Set Nautobot minimum version to 1.4.0 for Interface Status support (
c93ac16
)
- 🐛 Add handling for instance of new device passed to assign version (
e014c0f
)
- 🐛 Correct version assignment/removal with DLC plugin (
62eac46
)
- ♻️ Redo how OS version is updated for Devices (
cf889b3
)
- ♻️ Use status_map in Device update to reduce db queries (
49b48cf
) - 🔥 Remove hardware determination in update as not used (
e5ff85d
)
- 🐛 Redo how VC position is updated, find if another dev is in position (
181ec39
)
- Add check for slot in rack_elevations (
7440a97
)
- Don't set description to None for IPAddress (
6400ab7
)
- 🐛 Correct key for device name, add catch for no Device assigned (
4b57882
)
- ⏪️ Restore the netport_pk in DOQL query for ports (
d7e09fd
)
- ✨ Update port queries to include second device (
0335835
)
- 🐛 Correct debug message for device name (
5c99c42
)
- Verify device is in port map before assigning ID (
1d960e3
)
- 🐛 Fix IPAddr moving interface in update function (
9d5ed98
)
- 🐛 Ensure device found before trying to save (
dab7cc8
)
- Handle None for tags (
ec3fff3
)
- Add handling for None being passed (
c5e9184
)
- Validate rack_position var for dev position (
f4626f4
)
- Ensure part number isn't null (
4138e64
)
- ⏪️ Revert custom_field to be a get (
8631b6f
)
- 🐛 Fix tag updates so they're added/removed properly (
03ff4fc
)
- 🐛 Add Status attribute to mgmt interface (
0bb9070
)
- 🐛 Add check for up on port to handle virtual ports (
36c8d8c
)
- Correct var to be _device_name (
3f361ca
)
- ✨ Add Status to Ports (
3d76bfd
)
- 🐛 Correct get of Device to use variable (
cf6bf80
)
- Correct import for DiffSyncFlags (
89e77ef
)
- 🐛 Correct label attr to be defined even if field missing for diff (
3a8a3cb
) - 🐛 Ensure updates to device are saved (
86758d9
)
- 🐛 Add handling for IP showing assigned but non-existant Interface (
7da3a69
)
- Check that queryset has a version (
b8428f0
)
- 📝 Add debug logging for deleting devices (
6125600
)
- 🐛 Ensure only one version assigned to Device (
65dde96
)
- Many Fixes and Features for Bulk Create/Update/Delete (
6c9ed94
)
- 🐛 Ensure port name is only 64 characters (
36aff90
)
- Fix docstring (
2f6913c
)
- 🐛 Fix deleting RackGroup and tweak delete logging (
2a38589
)
- ✨ Add links for Device42 data mapping to D42 objects (
1e37f53
)
- 🐛 Add ValidationError handling for IP Address updates (
7c17ec0
) - 🐛 Add handling for only device attribute passed for update (
40bea3e
) - 🐛 Handle validation errors for device updates (
cfe4e69
) - 🐛 Remove redundant device save and tweak debug output (
cf7b63d
)
- 📝 Update documentation on Devices and D42 support (
f608c28
)
- 📝 Add usage information and sample detail view (
261a4b8
) - 📝 Update README with plugin setting details and fix nautobot_config example (
6b2d3a7
)
- ✨ Correct data mappings for plugin to reflect all objects that are imported (
4a701a4
)
- 🐛 Ensure all logging uses message attr (
81976b6
) - 🐛 Add handling for duplicate MAC addresses (
8c886c6
) - 🐛 Ensure debug defaults to False. (
2497cc1
) - 🐛 Catch ValidationErrors when creating a new Device. (
e9a608a
) - 🐛 Fix port_speed trying to be set with FrontPort type (
92985ea
)
v1.0.0 - (2022-01-13)
The plugin is officially in a stable, production-ready state!
v0.15.0 - (2022-01-13)
- ✨ Add method for get_hardware_models along with tests for importing into adapter and loading data from D42 (
03df0fa
) - ✨ Add plugin setting to prevent deletion of objects during sync. (
12256eb
) - ✨ Add method get_vendors along with tests to validate functionality (
23de09d
) - ✨ Add support for importing Patch Panels from Assets along with the Front/Rear ports. (
b831cea
) - ✨ Add method to get Racks mapped to their primary key and test validating it (
b3552fe
) - ✨ Add method to make mapping of Customer to their primary key (
3cbc90e
) - ✨ Add method to get Rooms mapped to their primary keys for reference (
bdad3cb
) - ✨ Add a method and tests to get Buildings mapped to their primary key (
427580a
) - ✨ Add method to obtain patch panels and create dict with PK as key (
e8d5440
)
- 🐛 Handle duplicate IP Addresses being imported from Device42 (
7e00d6f
) - 🐛 Add handling for ValidationErrors in case they occur (
332de8b
) - 🐛 Fix issue where multiple devices are assigned to same U position in a Rack. (
c70d8c3
) - 🐛 Fix the get_patch_panels DOQL query (
27319d6
) - 🐛 Fix check for debug logging (
982dc12
) - 🚨 Add null attributes to object creations to address pydantic warning (
dd37942
) - 🐛 Prevent duplicate ports from being loaded. (
1e56f23
) - 🐛 Use UUID to find VRF to delete (
188d7e5
) - 🐛 Remove get_circuit_status call when setting Circuit status in update (
46e1c2c
) - 🐛 Make objects_to_delete a public variable and make it a defaultdict (
024bc1b
) - 🐛 Remove object from logging statements (
db4b1b4
) - 🐛 Fix verbose debug logging (
e7c541c
) - 🐛 Add rack position for patch panel model and update test to include it (
4878d5c
)
- 📝 Fix link for 0.13.1 documentation in CHANGELOG (
8ab1f96
) - 📝 Add documentation on requirements for Subnets and Telco Circuit imports (
67b6b30
) - 📝 Remove mention of verbose_debug setting in docs (
a03dcb3
) - 📝 Correct docstring for circuit models (
aac72ac
)
v0.14.0 - (2021-12-20)
- ⚡ Add UUID attribute to all models for the Nautobot Data Target. (
07c8a40
)
- 🐛 Tweak device import to ignore those where a Building can't be found. (
a59fd82
) - 🐛 Include VRF when trying to find IP Address for update (
a164592
) - 🐛 Fix infinite loop (
6c5d2e5
) - 🐛 Tweak find_ipaddr and set_primary_from_dns methods to have IP Address returned once found. (
b3f62db
) - 🐛 Fix infinite loop when looking for IP in VRF (
4d792eb
) - 🐛 Update IP Address delete to handle multiple results (
e8478be
) - 🐛 Rewrite find_ipaddr to check VRFs (
a6592b8
) - 🐛 Subnet/IPAddress delete methods updated to look for vrf__name (
d53badf
) - 🐛 Add VRF as identifier to IP Address (
20a1fa0
) - 🐛 Ensure all logging sends to message. (
874db65
)
v0.13.1 - (2021-12-15)
- Added unittests for Device42 util methods.
v0.13.0 - 2021-12-09
- ✨ Add support for Device Lifecycle Management plugin for software version tracking. (
e578f0e
) - ➕ Start adding support for Device Lifecycle plugin (
e6806df
)
- 🐛 Change Port deletion to standard method instead of delayed. (
056c117
) - 🐛 Update find_ipaddr method to allow for IPv6 and all subnets in IPv4. (
3e10fb0
) - 🐛 Add provider to _objects_to_delete dict (
09a3aad
) - 🐛 Update Circuit processing to handle Circuits/Connections without terminations. (
000d0e7
) - 🐛 Validate VLAN PK is in vlan_map (
c31cede
) - 🐛 Ensure that the object is always returned for accurate logs. (
d16dbba
) - 🐛 Validate Circuit has termination when loading (
8f6d7d3
) - 🐛 Ensure that logs are sent in message. (
6de3553
) - 🐛 Fix APs being processed as FQDNs. (
469123e
) - 🐛 Provider account number is limited to 30 characters. (
4183a65
) - 🐛 Fix the a/z side connections to Device Ports (
545ec66
) - 🐛 Ensure that the first spot is reserved for master device in VC (
b5d7884
)
- 📝 Correct name of project in docstring (
8090ecb
)
- ✅ Add test for get_vlans_with_location method (
6e5714a
)
v0.12.0 - 2021-11-09
- ✨ Add
ignore_tag
feature to allow Devices to not be imported based on a Tag. (0bbca1f
)
- 🐛 Fix catch for AP hosts. (
495238e
) - 🐛 Should have used continue instead of break. (
2d8a6b0
) - 🐛 Handle case where IP is assigned as primary to another device. (
dfd113f
) - 🐛 Correct job logging to come from diffsync object in models. (
92871c0
)
- 📝 Add documentation for
ignore_tag
feature. (3ab83d6
)
v0.11.0 - 2021-11-06
- ✨ Add Custom Diff class to control order of operations. (
0da4ff0
) - ✨ Add method to find a site mapping from settings. (
70f9a93
)
- 🐛 Handle edge cases where device has A record for non-existent Subnet. (
8fcfeb3
)
- 📝 Improve documentation in README and add information to RTD index (
e9281ab
) - 📝 Improve typing and docstrings for some methods. (
6058a95
)
v0.10.0 - 2021-11-03
-
🐛 correct logging to be from diffsync. (afb3b62 by Justin Drew - Network To Code).
-
🐛 return sorted customfields. (4f8066f by Justin Drew - Network To Code).
-
🐛 missed exception var, has been added. (d8ac88d by Justin Drew - Network To Code).
-
🐛 check for dns answer matching primary ip needs str. (87bf1cd by Justin Drew - Network To Code).
-
🐛 ensure customfields are sorted on both sides. (d4be4a9 by Justin Drew - Network To Code).
-
🐛 remove
contact_info
attribute from provider. (22887cf by Justin Drew - Network To Code). -
🐛 validate it's dest port and device match, not source for z side. (a40c0dd by Justin Drew - Network To Code).
-
🐛 corrected circuittermination to have circuit object passed. (fe61e5a by Justin Drew - Network To Code).
-
🐛 correct exception to be nautobotvlan instead of site. (9796647 by Justin Drew - Network To Code).
-
🐛 change
cid
finally. (5049d8c by Justin Drew - Network To Code).
-
✨ add methods to get default customfields for ports and subnets. (6acf222 by Justin Drew - Network To Code).
-
✨ handle case for ip addr where device changes. (7d0ba67 by Justin Drew - Network To Code).
v0.9.3 - 2021-11-01
- ⏪ revert attribute for circuit object to use cid. (d856e3e by Justin Drew - Network To Code).
v0.9.2 - 2021-11-01
- 🐛 correct attribute from
cid
tocircuit_id
for circuitterminations (134943d by Justin Drew - Network To Code).
v0.9.1 - 2021-11-01
-
Add circuit terminations to devices in create (ed908b0 by Justin Drew - Network To Code).
-
Add telco circuits (e1c0386 by Justin Drew - Network To Code).
-
Add custom fields (e52bb0d by Justin Drew - Network To Code).
-
Add cables (f1c9791 by Justin Drew - Network To Code).
-
Add vlans and trunks (8b58eb4 by Justin Drew - Network To Code).
-
Add facility (df64403 by Justin Drew - Network To Code).
-
Add device roles (5f4a488 by Justin Drew - Network To Code).
-
Add tags (929ef2b by Justin Drew - Network To Code).
-
🐛 fix customfields not being added to ipaddress (36a1dad by Justin Drew - Network To Code).
-
Fix tests (d224c76 by Justin Drew - Network To Code).
-
Fix diffs (5b5e8fe by Justin Drew - Network To Code).
-
Fix model updates (51bae7e by Justin Drew - Network To Code).
-
Fix platform (81da171 by Justin Drew - Network To Code).
-
Fix ip assignment (53c8e70 by Justin Drew - Network To Code).
-
Fix vrf to use obj, not name (9877ff2 by Justin Drew).
v0.6.0 - 2021-08-27
-
Add ip addresses (afdcaae by Justin Drew - Network To Code).
-
Add prefixes (9fe3086 by Justin Drew - Network To Code).
-
Add vrfs (8ccaf12 by Justin Drew - Network To Code).
-
Add ports (9873430 by Justin Drew - Network To Code).
v0.4.1 - 2021-08-17
-
Add clusters and devices (116b741 by Justin Drew - Network To Code).
-
Add vendors (860f9fc by Justin Drew).
-
Add racks (13e92fa by Justin Drew - Network To Code).
v0.3.0 - 2021-07-28
- Add site sync support (4c6ac8f by Justin Drew - Network To Code).