Skip to content
This repository has been archived by the owner on Oct 5, 2023. It is now read-only.

Latest commit

 

History

History
643 lines (408 loc) · 52.3 KB

CHANGELOG.md

File metadata and controls

643 lines (408 loc) · 52.3 KB

Changelog

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.

v1.7.0 (2023-06-07)

Fix

  • 🔧 Setting default settings for all required settings. (c99bcbc)
  • 🐛 Validate using Device ID instead of name (e8ebe04)

Documentation

  • 📄 Add Apache 2.0 license (83d0ceb)
  • 📝 Add log about skipping cluster if ignore_tag found. (4504336)

v1.6.0 (2023-05-19)

Feature

  • ✨ Set Master device OS version to same as first device in stack. (8a8fa07)

Fix

  • 🐛 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)

Documentation

  • 🧑‍💻 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)

Performance

  • ⚡️ Adding select_related to Nautobot load functions to improve speed of pulling data. (53b9190)

v1.5.1 (2023-03-31)

Fix

  • 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)

Documentation

  • 📝 Add log for declaring end of Sync in post_run (054932e)

v1.5.0 (2023-03-09)

Feature

  • ✨ 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)

Fix

  • 🐛 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)

Documentation

  • 📝 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)

Performance

  • 🔥 Remove members as cluster attribute. (e611f0f)

v1.4.10 (2022-12-07)

Fix

  • 🐛 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)

v1.4.9 (2022-10-05)

Fix

  • 🐛 Add handling for instance of new device passed to assign version (e014c0f)

v1.4.8 (2022-10-05)

Fix

  • 🐛 Correct version assignment/removal with DLC plugin (62eac46)

v1.4.7 (2022-10-05)

Fix

  • ♻️ Redo how OS version is updated for Devices (cf889b3)

Performance

  • ♻️ Use status_map in Device update to reduce db queries (49b48cf)
  • 🔥 Remove hardware determination in update as not used (e5ff85d)

v1.4.6 (2022-10-04)

Fix

  • 🐛 Redo how VC position is updated, find if another dev is in position (181ec39)

v1.4.5 (2022-10-04)

Fix

  • Add check for slot in rack_elevations (7440a97)

v1.4.4 (2022-10-04)

Fix

  • Don't set description to None for IPAddress (6400ab7)

v1.4.3 (2022-10-04)

Fix

  • 🐛 Correct rack_position determination (befc6a0)
  • 🐛 Correct update of device assigned to IP (c8f06bc)

v1.4.2 (2022-10-04)

Fix

  • 🐛 Correct key for device name, add catch for no Device assigned (4b57882)

v1.4.1 (2022-10-04)

Fix

  • ⏪️ Restore the netport_pk in DOQL query for ports (d7e09fd)

v1.4.0 (2022-10-04)

Feature

  • ✨ Update port queries to include second device (0335835)

Fix

  • 🐛 Correct debug message for device name (5c99c42)

v1.3.12 (2022-10-03)

Fix

  • Verify device is in port map before assigning ID (1d960e3)

v1.3.11 (2022-10-03)

Fix

  • 🐛 Fix IPAddr moving interface in update function (9d5ed98)

v1.3.10 (2022-10-03)

Fix

  • 🐛 Ensure device found before trying to save (dab7cc8)

v1.3.9 (2022-10-03)

Fix

v1.3.8 (2022-10-03)

Fix

  • Add handling for None being passed (c5e9184)

v1.3.7 (2022-09-30)

Fix

  • Validate rack_position var for dev position (f4626f4)

v1.3.6 (2022-09-29)

Fix

  • Ensure part number isn't null (4138e64)

v1.3.5 (2022-09-29)

Fix

  • ⏪️ Revert custom_field to be a get (8631b6f)

v1.3.4 (2022-09-29)

Fix

  • 🐛 Fix tag updates so they're added/removed properly (03ff4fc)

v1.3.3 (2022-09-28)

Fix

  • 🐛 Add Status attribute to mgmt interface (0bb9070)

v1.3.2 (2022-09-28)

Fix

  • 🐛 Add check for up on port to handle virtual ports (36c8d8c)

v1.3.1 (2022-09-28)

Fix

  • Correct var to be _device_name (3f361ca)

v1.3.0 (2022-09-28)

Feature

  • ✨ Add Status to Ports (3d76bfd)

Fix

  • 🐛 Correct get of Device to use variable (cf6bf80)

v1.2.8 (2022-09-27)

Fix

  • Correct import for DiffSyncFlags (89e77ef)

v1.2.7 (2022-09-27)

Fix

  • 🐛 Correct label attr to be defined even if field missing for diff (3a8a3cb)
  • 🐛 Ensure updates to device are saved (86758d9)

v1.2.6 (2022-09-26)

Fix

  • 🐛 Add handling for IP showing assigned but non-existant Interface (7da3a69)

v1.2.5 (2022-09-26)

Fix

  • Check that queryset has a version (b8428f0)

Documentation

  • 📝 Add debug logging for deleting devices (6125600)

v1.2.4 (2022-09-26)

Fix

  • 🐛 Ensure only one version assigned to Device (65dde96)

v1.2.3 (2022-09-23)

Fix

  • Many Fixes and Features for Bulk Create/Update/Delete (6c9ed94)

v1.2.2 (2022-05-06)

Fix

  • 🐛 Ensure port name is only 64 characters (36aff90)

Documentation

v1.2.1 (2022-02-23)

Fix

  • 🐛 Fix deleting RackGroup and tweak delete logging (2a38589)

v1.2.0 (2022-01-20)

Feature

  • ✨ Add links for Device42 data mapping to D42 objects (1e37f53)

Fix

  • 🐛 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)

Documentation

  • 📝 Update documentation on Devices and D42 support (f608c28)

v1.1.1 (2022-01-14)

Fix

  • 🐛 Fix path for Device42 logo (c36c5f8)
  • 🐛 Ensure that hardware model names are sanitized (4f6c3c4)

Documentation

  • 📝 Add usage information and sample detail view (261a4b8)
  • 📝 Update README with plugin setting details and fix nautobot_config example (6b2d3a7)

v1.1.0 (2022-01-14)

Feature

  • ✨ Correct data mappings for plugin to reflect all objects that are imported (4a701a4)

Fix

  • 🐛 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)

Feature

  • ✨ 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)

Fix

  • 🐛 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)

Documentation

  • 📝 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)

Feature

  • ⚡ Add UUID attribute to all models for the Nautobot Data Target. (07c8a40)

Fix

  • 🐛 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)

Compare with v0.13.0

Testing

  • Added unittests for Device42 util methods.

v0.13.0 - 2021-12-09

Compare with v0.12.0

Feature

  • ✨ Add support for Device Lifecycle Management plugin for software version tracking. (e578f0e)
  • ➕ Start adding support for Device Lifecycle plugin (e6806df)

Fix

  • 🐛 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)

Documentation

  • 📝 Correct name of project in docstring (8090ecb)

Performance

  • ✅ Add test for get_vlans_with_location method (6e5714a)

v0.12.0 - 2021-11-09

Compare with v0.11.0

Feature

  • ✨ Add ignore_tag feature to allow Devices to not be imported based on a Tag. (0bbca1f)

Fix

  • 🐛 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)

Documentation

  • 📝 Add documentation for ignore_tag feature. (3ab83d6)

v0.11.0 - 2021-11-06

Compare with v0.10.0

Feature

  • ✨ Add Custom Diff class to control order of operations. (0da4ff0)
  • ✨ Add method to find a site mapping from settings. (70f9a93)

Fix

  • 🐛 Handle edge cases where device has A record for non-existent Subnet. (8fcfeb3)

Documentation

  • 📝 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

Compare with v0.9.3

Bug Fixes

  • 🐛 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).

Features

  • ✨ 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

Compare with v0.9.2

Bug Fixes

  • ⏪ revert attribute for circuit object to use cid. (d856e3e by Justin Drew - Network To Code).

v0.9.2 - 2021-11-01

Compare with v0.9.1

Bug Fixes

  • 🐛 correct attribute from cid to circuit_id for circuitterminations (134943d by Justin Drew - Network To Code).

v0.9.1 - 2021-11-01

Compare with v0.6.0

Features

  • 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).

Bug Fixes

  • 🐛 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

Compare with v0.4.1

Added

  • 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

Compare with v0.3.0

Added

  • 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

Compare with v0.2.0

Added

  • Add site sync support (4c6ac8f by Justin Drew - Network To Code).

v0.2.0 - 2021-07-15

Compare with v0.1.0

v0.1.0 - 2021-07-15

Compare with first commit