Last Month in Nautobot – December 2024

Welcome to our monthly Nautobot community update! We’ll dive into the latest updates across the Nautobot community, highlighting the key milestones, releases, and noteworthy contributions. From new features and enhancements to bug fixes and events, there’s always something happening in our dynamic ecosystem. Open source is at the core of our values, empowering individuals and organizations to collaborate, innovate, and make a positive impact together. This monthly blog post is our way of celebrating the accomplishments and contributions of our Nautobot community members.

Nautobot Core

Releases – Stable

  • Nautobot: v2.3.14 – 2024-12-19
    • #6548 – Added logic to set the parent in the clean() method of the Prefix model, ensuring correct assignment during validation.
    • #6518 – Added VRFs column to Prefixes and Child Prefixes tables.
    • #6531 – Restricted the id filter field to use only the __n (negation) lookup filter.
    • #6548 – Changed the save method of the Prefix model to reparent subnets and IPs only when the network, namespace, or prefix_length fields are updated.
    • #4056 – Fixed filter of add_tags and remove_tags of bulk edit based on content type.
    • #6204 – Fixed out-of-memory errors when LogsCleanup system job resulted in cascade deletion of many related objects (such as JobLogEntry or nautobot_ssot.SyncLogEntry records).
    • #6470 – Fixed untagged VLAN dropdown options mismatch in InterfaceEditForm and in InterfaceBulkEditForm.
    • #6496 – Fixed /ipam/prefixes/<UUID>/available-ips/ to correctly consider IPs under child Prefixes.
    • #6496 – Fixed Prefix.get_first_available_ip() method to not return IPs taken by child Prefixes.
    • #6664 – Fixed circuit_type column not included correctly in CircuitTable default columns.
    • #6678 – Fixed incorrect copy button behavior on global search page.
  • Nautobot: v2.3.13 – 2024-12-10
    • #6615 – Updated Django to ~4.2.17 due to CVE-2024-53907 and CVE-2024-53908.
    • #4817 – Added Cluster field on DeviceBulkEditForm.
    • #5333 – Added Comments field on DeviceBulkEditForm.
    • #6498 – Added support for an additional suffix when utilizing TableExtension to support tables like IPAddressDetailTable.
    • #6586 – Added description and weight on RoleBulkEditForm.
    • #6605 – Added BaseTable support for a data_transform_callback function that can be used to modify the table data after performing automatic QuerySet optimizations. (Several IPAM tables now use this functionality.)
    • #6605 – Enhanced LinkedCountColumn to support a distinct parameter to handle cases where counts may otherwise be incorrect.
    • #6605 – Added ip_addresses and has_ip_addresses filter support to Device, Interface, and VirtualMachine FilterSets.
    • #6613 – Enhanced Prefix detail view “Child Prefixes” table to render associated Locations more intelligently.
    • #6614 – Enhanced IP Address tables to show the name of the associated Interface or VM Interface if only a single such association is present for a given IP Address.
    • #6166 – Enhanced the REST API to generally make it possible to create objects with known ids on request.
    • #3124 – Fixed inability of ImageAttachment and DeviceType API endpoints to accept multipart/form-data file uploads.
    • #5166 – Fixed a ProgrammingError when applying permissions containing network-address-based constraints.
    • #6466 – Fixed table_config field not showing up correctly in the Saved View modal.
    • #6498 – Fixed error when using TableExtension when the table is missing Meta.default_columns.
    • #6605 – Improved rendering performance of the IPAddress list view in cases where the Interfaces, Devices, VMInterfaces, Virtual Machines, and/or Assigned columns are not shown.
    • #6605 – Improved performance of TreeModel.display calculation by making better use of the cache.
    • #6609 – Fixed unnecessary call to the database when logging from a Job with the parameter extra={"skip_db_logging": True}.
    • #6624 – Fixed issue with group_sync.py where it was accessing the settings using an environment variable name vs the actual settings name.
    • #6624 – Fixed the SOCIAL_AUTH_PIPELINE settings to include the entire path of the group_sync function.

Releases – LTM 1.6

  • Nautobot: v1.6.29 – 2024-12-10
    • #5911 – Updated zipp to 3.19.2 to address CVE-2024-5569. This is not a direct dependency so it will not auto-update when upgrading. Please be sure to upgrade your local environment.
    • #6625 – Patched set_values() method of Query class from django.db.models.sql.query to address CVE-2024-42005.
    • #5924 – Fixed the redirect URL for the Device Bay Populate/Depopulate view to take the user back to the Device Bays tab on the Device page.
    • #6502 – Fixed a bug in the Dockerfile that prevented docker build from working on some platforms.
    • #6502 – Fixed Docker builds failing in GitLab CI.

Apps Ecosystem

  • Nautobot App ChatOps: v3.1.3 – 2024-12-20
    • #356 – Fixed “Server has gone away” error in Slack socket mode.
  • Nautobot Ansible: v5.5.0 – 2024-12-20
    • #454 – Added dynamic group module and tests.
    • #455 – Added new metadata models.
    • #453 – Added static group association model.
    • #456 – Added job button module and new 2.3 fields.
    • #464 – Added caching to GraphQL inventory plugin.
    • #465 – Added parent_location_type allowed query types.
  • Nautobot App ChatOps: v3.1.2 – 2024-12-19
    • #350 – Fixed synchronous function running in the async Slack socket mode.
  • Nautobot App Golden Config: v2.2.2 – 2024-12-18
    • #840 – Added GraphQL output to the “Generate Intended Config” view.
    • #841 – Added GraphQL query form field to the “Generate Intended Config” view.
    • #844 – Added a diff output to the “Generate Intended Config” view and associated REST API.
  • Nautobot App Floor Plan: v2.5.0 – 2024-12-17
    • #124 – Added child floor plan tab to display child location floor plans in a list.
    • #131 – Fixed wrap-around for letters going negative from A to ZZZ and updated display of labels in form.
    • #135 – Changed floor_plan column on FloorPlanTable to orderable=False to fix bug.
    • #136 – Fixed grid label spacing on Y-Axis by checking the length of all labels to determine the correct offset.
  • Helm Charts: v2.4.2 – 2024-12-13
    • #480 – Added functionality for auto-deployments in configuration changes.
    • Upgraded Nautobot from 2.3.12 to 2.3.13.
    • Upgraded nginx-prometheus-exporter image from 1.3.0 to 1.4.0.
    • Upgraded Bitnami common subchart from 2.27.2 to 2.28.0.
  • Nautobot App SSoT: v3.3.0 – 2024-12-06
    • #599 – Added Citrix ADM integration.
    • #600 – Added integration with Slurpit.
    • #310 – Added common TypedDicts for Contrib SSoT.
    • #449 – Added delete_records flag to the ServiceNow DataTarget job.
    • #588 – Added support for Software Version object in DNA Center integration.
    • #593 – Added ability to rename Network in Meraki and Datacenter in DNA Center integrations using location_map.
    • #593 – Added support for SoftwareVersion in Bootstrap integration.
    • #590 – Improved error message for validated save in contrib model.
    • #588 – Removed use of OS Version CustomField in DNA Center integration. Now uses Software Version from Nautobot 2.2 and/or Device Lifecycle Management SoftwareLCM object if found.
    • #411 – Fixed imports in CustomFields migration that was causing installation issues.
    • #449 – Fixed logic used for loading location records to make ServiceNow SSoT Nautobot 2.x compatible.
    • #467 – Fixed get_tags_by_type() to handle possible RpcError Exception being thrown.
    • #582 – Fixed erroneous print statement in sync logs.
    • #585 – Fixed use of DLM classes with Bootstrap integration.
    • #588 – Fixed hostname mapping functionality in DNA Center integration. It is now available in the Job form.
    • #593 – Fixed Meraki loading of Nautobot Prefixes that have multiple Locations assigned.
    • #593 – Fixed DNA Center loading incorrect location names for Devices.
    • #593 – Fixed KeyError being thrown when port is missing from uplink_settings dict in Meraki integration.
    • #593 – Fixed error in Bootstrap integration in loading ValidatedSoftwareLCM when SoftwareLCM doesn’t exist.
    • #593 – Fixed DoesNotExist thrown when attempting to load ContentType that doesn’t exist in Bootstrap integration.
    • #599 – Fixed Bootstrap signals that are using create_or_update_custom_field() to pass apps. This was done to correct a bug causing Nautobot to crash during startup.
    • #607 – Fixed hostname_mapping functionality in Citrix ADM integration.
    • #610 – Fixed delete function for NautobotValidatedSoftware so UUID is used to find object instead of querying for Platform and Software object.
    • #612 – Fixed AttributeError on attempting to load Platforms with no Manufacturer assigned.
    • #614 – Fixed creating platforms with no Manufacturer assigned.
    • #614 – Fixed time_zone attribute normalization on Location objects.
    • #616 – Ensure Devices missing Platform are not loaded from DNA Center.
  • Nautobot App BGP Models: v2.3.0 – 2024-12-02
    • Added Python 3.12 support.

Community

  • Did you miss AutoCon 2 in Denver last year? Or maybe you just want to rewatch one of the best sessions from the event. Either way, here are Aaron Drydale of QuikTrip and our own Joe Wesch with their session recounting how QuikTrip and Network to Code automated their hardware refresh process, Don’t Panic! QuikTrip’s Automated Network Keeps the Coffee Brewing (https://youtu.be/ghchIGDCNRg).

Conclusion

Do you have any cool Nautobot-related projects we should write about? Swing by the Network to Code Slack -> channel #nautobot and write us a quick line! Sign up here if you don’t have an account.

 

-Gary



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Author