Releases: nautobot/nautobot-app-ssot
Release v3.3.0 - 2024-12-06
Release Overview
There have been two new integrations added to the project!
1. Citrix ADM: This integration allows you to pull in the inventory of your Application Delivery Controllers from Citrix ADM into Nautobot.
2. Slurp`It: This integration enables users to import data from Slurp`It that's a bit more flexible than their custom Nautobot App.
- Additionally, support for the SoftwareVersion model has been added to the DNA Center and Bootstrap integrations.
v3.3.0 (2024-12-06)
Added
- #310 - Added common TypedDicts for Contrib SSoT.
- #449 - Add
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.
- #599 - Added Citrix ADM integration.
- #600 - Added integration with Slurpit.
Changed
- #590 - Improved error message for validated save in contrib model.
Removed
- #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.
Fixed
- #411 - Fixed imports in CustomFields migration that was causing installation issues.
- #449 - Fix logic used for loading location records to make ServiceNow SSoT Nautobot 2.x compatible
- #467 - Fix 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 bug causing Nautobot to crash during startup.
- #607 - Fix hostname_mapping functionailty in Citrix ADM integration.
- #610 - Fix 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.
Documentation
- #585 - Fix documentation for Bootstrap installation.
- #605 - Add missing acknowledgements for a few integrations.
Housekeeping
- #585 - Disabled the BootstrapDataTarget Job as it's not usable at this time.
- #587 - Changed model_class_name in .cookiecutter.json to a valid model to help with drift management.
- #593 - Add code owners for DNA Center, Meraki, and Itential integrations.
- #599 - Consolidated repeat function, parse_hostname_for_role(), from DNA Center and Citrix integrations as SSoT utility function.
- #605 - Add code owner for Citrix ADM integration.
- #607 - Remove redundant parse_hostname_for_role() function in Meraki integration that was missed in 599.
New Contributors
- @tsm1th made their first contribution in #581
- @lpconsulting321 made their first contribution in #608
Full Changelog: v3.2.0...v3.3.0
Release v3.2.0 - 2024-10-21
Release Overview
-
There have been two new integrations added to the project!
-
Bootstrap SSoT: The Bootstrap integration allows users to quickly and consistently setup NAutobot environments with base objects like Locations, LocationTypes, Tenants, VLANs and more. This integration, when linked to a Git repository with the requisite data will sync the provided objects, represented in YAML, and will synchronize these objects into Nautobot. Using this integration users can update multiple Nautobot instances with the same data, or easily test and promote changes through a pipeline. Users can also use Bootstrap to spin up local development environments with the base information needed to create test devices to develop new apps for Nautobot.
-
Cisco Meraki SSoT: The Cisco Meraki integration allows users to import Networks, Devices, Ports, Prefixes, and IP Addresses from the Meraki Dashboard. Refer to the integration documentation for a full explanation of all capabilities and options for the integration.
-
-
The DNA Center and Device42 integrations have been updated to allow specifying the LocationType for imported Location objects.
v3.2.0 (2024-10-21)
Added
- #541 - Add Bootstrap SSoT to Nautobot SSoT Nautobot application
- #546 - Added support for specifying LocationType for Areas, Buildings, and Floors in DNA Center integration.
- #546 - Added support for specifying LocationType for Buildings in Device42 integration.
- #574 - Added integration with Cisco Meraki.
Changed
- #574 - Updated DNA Center Job to use SSoT verify_controller_managed_device_group utility function so code is more DRY.
Fixed
- #479 - Corrected the attribute used to reference the ControllerManagedDeviceGroup off a Controller object.
- #548 - Fixed SSoT jobs not respecting DryRun variable.
- #558 - Fixed VRF attribute for Prefix create() to be ids instead of attrs.
- #561 - Bug in IP Fabric that causes some network columns to return host bits set; changed
ip_network
to usestrict=False
. - #571 - Fixed requests call that was missing URL scheme.
- #574 - Fixed the ACI integration's retrieval of Controller Managed Device Group name that was breaking ACI adapter.
Documentation
- #568 - Changed documentation to include passing job in the example of loading Adapters.
- #541 - Fixed documentation errors with 1.5 release notes and missing links to integration setup and user sections.
- #542 - Correct documentation for ACI integration and add missing DNA Center installation documentation.
- #546 - Added documentation on how to use DNA Center integration along with screenshots of the steps.
- #546 - Updated documentation for Device42 integration and updated Job form screenshot to update for Building LocationType Job form change.
- #569 - Add missing links for integrations to Integrations Configuration portion of Install and Configure section.
- #574 - Added documentation for Meraki integration.
New Contributors
Full Changelog: v3.1.0...v3.2.0
Release v2.8.1 - 2024-09-23
What's Changed
Full Changelog: v2.8.0...v2.8.1
Release v3.1.0 - 2024-09-06
Added
- #527 - Added Python 3.12 support.
- #528 - Added DNA Center integration to _MIN_NAUTOBOT_VERSION as it requires Nautobot 2.2 for Controller object.
Changed
- #526 - Updated the ExampleDataSource job to improve memory utilization with large data sets.
- #526 - Changed memory profiling logging output to format bytes into KiB/MiB.
Fixed
- #521 - Fixed generalized Exception with SecretsGroup and add custom Exception in case SecretsGroup not found on ExternalIntegration.
- #528 - Fixed bug preventing use of Nautobot 2.1 due to ACI requiring 2.2.
- #528 - Fixed JobResult association to Sync object to CASCADE instead of PROTECT so Sync object is deleted when JobResult is instead of preventing deletion.
- #530 - Fixed Infoblox Configuration List Bug when on Nautobot 2.3 by disabling SSOTInfobloxConfig from being a saved view.
Documentation
- #520 - Added instructions for enabling Infoblox integration.
Housekeeping
- #527 - Rebaked from the cookie 'nautobot-app-v2.3.2'.
New Contributors
- @gsnider2195 made their first contribution in #526
- @nopg made their first contribution in #529
Full Changelog: v3.0.1...v3.1.0
Release v3.0.1 - 2024-08-26
Fixed
- #507 - Fixed DataTarget example Job to include run() function for using ExternalIntegration or supplied URL and token.
Dependencies
- #516 - Fix the dependencies for mkdocstrings and mkdocstrings-python to fix RTD build.
Documentation
- #518 - Minor doc updates on upgrade to 3.0.
Housekeeping
- #515 - Rebaked from the cookie
nautobot-app-v2.3.0
.
Release v3.0.0 - 2024-08-22
Release 3.0.0 Overview
There are two major updates in this release. First, the entire project has been upgraded to support DiffSync 2.0 which utilizes pydantic 2.0. This should improve processing times for any integrations or personal Apps utilizing the SSoT framework. However, it will require some slight changes to any code using the framework. You can find details about these required updates in the documentation.
Second, this release also adds a new integration supporting Cisco's DNA Center product. In addition, we've migrated the IPFabric ChatOps command allowing triggering of the SSoT sync Job to the ChatOps project so you will be required to upgrade to 3.1.0 if you use that Job.
Added
- #451 - Added integration for DNA Center.
Changed
- #471 - Updated ACI, Device42, and DNA Center integrations to use Controller or ExternalIntegration instead of PLUGINS_CONFIG settings.
Removed
Dependencies
Updating DiffSync required changes to imports and many files changed from diffsync import Diffsync
to from diffsync import Adapter
and then changing diffsync
to adapter
in the file.
Housekeeping
- #433 - Black 24.4.0 includes new formatting which was applied to all python files.
Release v2.8.0 - 2024-08-21
Release v2.7.0 - 2024-07-19
Added
- #432 - Added an SSoT to sync Nautobot ==> Itential Automation Gateway.
This integration allows users to sync Nautobot device inventory to Itential Automation Gateway(s) (IAG).
The current IAG inventory that is supported is its default Ansible inventory.
Netmiko, Nornir, HTTP requests inventories will be added at a later date.
- #442 - Added plugin configuration page collecting configurations for integrations.
- #442 - Infoblox integration - added SSOTInfobloxConfig model used for providing Infoblox integration configuration.
- #442 - Infoblox integration - added support for multiple configuration instances.
- #442 - Infoblox integration - added support for Infoblox Network Views and Nautobot Namespaces.
- #442 - Infoblox integration - added support for selecting a subset of Network and IP address objects loaded for synchronization.
- #442 - Infoblox integration - added support for creating Infoblox IP Addresses as A and PTR records.
- #442 - Infoblox integration - added support for creating Infoblox IP Addresses as Fixed Address records of type RESERVED and MAC_ADDRESS.
- #442 - Infoblox integration - added support for excluding extensive attributes and custom fields when synchronizing objects.
- #442 - Infoblox integration - added support for selectively enabling synchronization of IPv4 and IPv6 objects.
- #442 - Infoblox integration - added support for specifying Infoblox DNS View where DNS records are created.
- #442 - Infoblox integration - added support for specifying record types subject to deletion in Infoblox and Nautobot.
- #442 - Infoblox integration - added methods to Infoblox handling fixed addresses, DNS A, Host and PTR records, network views, DNS views, and authoritative zones.
- #469 - Added more models for import in Example Jobs.
Changed
- #442 - Infoblox integration - configuration settings are now defined in the instances of the SSOTInfobloxConfig model.
- #442 - Infoblox integration - functionality provided by the
infoblox_import_subnets
settings has been replaced with theinfoblox_sync_filters
field in the SSOTInfobloxConfig instance. - #442 - Infoblox integration - updated Infoblox client methods to support Network View.
- #442 - Infoblox integration - standardized
JSONDecoderError
handling in the Infoblox client.
Removed
- #442 - Infoblox integration - configuration settings defined in
nautobot_config.py
have been removed. - #442 - Infoblox integration - configuration settings defined in environmental variables have been removed.
Fixed
- #234 - Fixed integration tests so they're no longer dependent upon being enabled in dev environment.
- #437 - Fixed link from list view to filtered sync log view by changing filter query to
sync
from overview. - #443 - Fixed issue with loading duplicate IPAddresses from Infoblox.
- #456 - Fix Device42 integration unit test that was expecting wrong BIG-IP netmiko platform name.
- #463 - Fixed call in CVP integration to pass
import_active
config setting to get_devices() function call. - #479 - Correct get_or_instantiate() to use self.device_type instead of "device_type" in ACI adapter.
- #479 - Refactor load_interfaces() to have check for device_specs var being defined in case file isn't loaded.
Documentation
Release v2.6.1 - 2024-08-29
Added
- #436 - Added additional unit tests for Device42 integration.
Changed
- #437 - Improved performance of the Infoblox client by using
requests.Session
for API calls instead ofrequests.request
.
Fixed
- #435 - Fixed handling of DLM App installed but not enabled throwing RuntimeError.
- #436 - Fixed IPAddress attribute to be ip_version.
- #436 - Fixed IPAddress Status incorrectly being set to Reserved when the status in Device42 showed as "available".
- #436 - Fixed multiple bugs when assigning IPAddresses to Interfaces.
- #436 - Fixed check for Building definiton when creating a VLAN.
- #436 - Fixed VLAN to use location instead of location_id in create().
Housekeeping
- #431 - Updated note on nautobot_ssot/integrations/ipfabric/diffsync/adapter_ipfabric.py IPFabricDiffSync from Nautobot to IPFabric.
Release v2.6.0 - 2024-04-16
Added
- #367 - Added support of Roles, Platforms, Manufacturers, DeviceTypes, and Devices to example Jobs.
Changed
- #398 - Changed Arista Cloud Vision jobs to optionally use ExternalIntegration.
- #414 - Changed IPFabric interface media matching to fall back on interface names.
Fixed
- #367 - Fixed issues with example Jobs.
- #407 - Fixed logic check for 'hide_example_jobs' when defined, and also set to False.
- #409 - Fixed tagging and custom field updates for Nautobot objects synced to/from Infoblox.
- #413 - Fixed method of retrieving objects from IPFabric's technology categories.