Skip to content

Feature Release 1.1.0

Compare
Choose a tag to compare
@peteeckel peteeckel released this 03 Sep 19:12
· 142 commits to main since this release
586372a

What's Changed

Breaking Changes

NetBox DNS contains two breaking changes.

IPAM DNSsync replaces IPAM Coupling

The IPAM DNSsync feature replaces the IPAM Coupling feature. IPAM Coupling will no longer work after the upgrade to 1.1.0, so if you are relying on it (which you shouldn't, as it was always marked as "experimental" :-)) and need time to plan the transition, do not upgrade beyond 1.0.x until the transition has been completed.

NetBox DNS 1.0 continues to work with NetBox 4.1, but at the current time is not guaranteed to work with NetBox 4.2. That defines the migration window, depending on your NetBox upgrade strategy.

Differences between IPAM Coupling and IPAM DNSsync

  • IPAM DNSsync does not require manual zone/name selection for IP addresses. Just the prefix/view mapping needs to be maintained.
  • IPAM DNSsync instead uses the 'DNS Name' field of the IP address object. Zone selection is automated by zone name, view and the assignment of IP prefixes to views.
  • The 'DNS name' field of the IP address object will no longer be overwritten by NetBox DNS.
  • IPAM DNSsync supports address records in multiple views, while IPAM Coupling only allowed one DNS record per IP address (this was the most severe shortcoming of IPAM Coupling)
  • Unlike IPAM Coupling, IPAM DNSsync does not try to obey object permissions on DNS objects. The support for this was always incomplete and inconsistent, and trying to validate object permissions of complex operations like the ones NetBox DNS executes in the background was a major pain from the start. If you require that kind of validation, please implement it in Custom Validators tailored to your needs.
  • Some IPAM Coupling data will be retained to ease migration, specifically the 'TTL' and 'Disable PTR' custom fields.
  • The 'DNS Name' field filled by IPAM Coupling serves as an input field for IPAM DNSsync, so the resulting DNS records will be consistent with the old feature.

Contacts have been renamed to Registration Contacts

When the feature to enable the management of domain registration information was introduced, it seemed like a good idea to name the model for the Admin-C, Tech-C etc. 'Contact'. The idea was that namespacing by the plugin's application name would provide enough separation from the core 'Contact' model.

As it turned out, that idea was wrong. When Strawberry replaced the old GraphQL package in NetBox, the collisions became apparent as Strawberry does not observe the namespacing by app. This could be worked around, but error messages when creating the strawberry schema remained.

For this reason, this PR renames the "Contact" model to "RegistrationContact", which resolves the issue.

All REST and GraphQL API clients and custom scripts DNS registration contacts need to be adjusted to reflect the renamed model.

Full Changelog: 1.0.7...1.1.0