Heads up: IPAM DNSsync is coming, IPAM Coupling will be removed in version 1.1 #340
Replies: 23 comments 45 replies
-
Following the release of NetBox 4.1.0-beta1 some hours ago, I just pushed the first beta release NetBox DNS 1.1.0-beta1. Currently there are some issues with testing on GitHub that I can't really explain (locally all tests work as expected, but the GH workflow fails reproducably for three tests), but in general the new version and especially the DNSsync feature should be stable enouft for first experiments. I'll be thankful for issues, suggestions and comments! |
Beta Was this translation helpful? Give feedback.
-
I just pushed a new beta release 1.1.0-beta2 to PyPI Apart from a couple of bugfixes, this release adds the This feature aims at making migrating to IPAM DNSsync easier. |
Beta Was this translation helpful? Give feedback.
-
Somehow the fact that there isn't any feedback is a bit disconcerting ... either nobody has tried the new beta, or I'm better at finding my bugs than you are :-) Anyway, there is a new and possible final beta release available, 1.1b3 (sorry for the inconsistency in the naming schema, I'm still experimenting with the GitHub workflow and apparently haven't had enough coffee yet). Apart from some additional checks preventing NetBox DNS from reporting internal server errors in unusual contexts the main feature is the "DNS Views" button in the prefixes detail view which makes it possible to assign views to prefixes, not just the other way around. That proved a major click-saver in my internal testing. |
Beta Was this translation helpful? Give feedback.
-
A different kind of good news: The breaking change won't be too bad, at least if nothing unforseen happens in terms of API changes it will be possible to run NetBox DNS 1.0.x (with IPAM Coupling) on NetBox 4.1.x, or NetBox DNS 4.1.1 (with IPAM DNSsync) on NetBox 4.0.x. That provides a much smoother migration path, leaving users of IPAM Coupling time until they want to upgrade to NetBox 4.2, which will likely break compatibility with NetBox DNS 1.0.x completely. So if you rely on IPAM Coupling, you are probably safe to keep it until NetBox 4.2 comes around. At the same time, NetBox DNS 1.2.x will become the current version, which will no longer support NetBox 4.0.x. |
Beta Was this translation helpful? Give feedback.
-
Finally found the time to look at this.. We will keep you posted about any problems we find. It could easily clean up a few things for us. |
Beta Was this translation helpful? Give feedback.
-
I've been trying to keep up, but it's hard to get a feel for next steps. Assuming we currently using the coupling feature, is/will there be a documented migration path once 1.1 becomes GA? I'm willing to test on the beta, but I'm not exactly sure what I need to do to get from A to B. |
Beta Was this translation helpful? Give feedback.
-
Ok, working with it.. my questions are:
From what I can see far..
One feature request - when viewing the DNS record, can the IP address be clickable to the IPAM page for the IP?
I found also that the drop down for the add a prefix to zone doesn't work very well - if I start typing in a prefix, I'd thought it should at least narrow down what it's showing, but it doesn't.. Don't know if that's a netbox or a plugin problem.. |
Beta Was this translation helpful? Give feedback.
-
Important FixI just found a big pile of manure that can only be explained by lack of caffeine, beer, sleep or whatever. The code that determines whether a DNS record for an IP address should be updated or not was totally broken. And by 'totally' I mean it did not work at all. The good news is that it failed on the safe side, which did not result in any inconsistencies or data errors. The bad news is that it led to some operations (especially ones that take very long anyway) taking up to five times as long. 1.1.0b6 is on its way. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
By the way - this doesn't get said often enough: I'm really grateful to everyone who decides to spend their time to test, create issues, ask questions and be engaged in any form of activity around this project. Very often questions or specific use cases help discovering errors or finding bugs, or just make me aware that there are use cases I didn't think about. It's really difficult to do this on my own, even if I have some customer environments where I can test as well - it's always from my own perspective, which isn't necessarily the only or even the most common one. So again: Thanks to you all! |
Beta Was this translation helpful? Give feedback.
-
Yea, I've wiped/reset the db too many times, and have lost track of "did I migrate it?" This db has been using the previous plugin for ever.. Now I'm starting to wonder if I should prep for the move by stopping the octodns sync, delete all the 'a' records since we have set a FQDN dns_name in all IPs, and then migrate it all, then re-enable the octodns sync.. This will also clean out of a bunch of cruft any way.. |
Beta Was this translation helpful? Give feedback.
-
Just a quick note, that last release seems to fix all the problems I have other than the self-inflicted ones. 😁 |
Beta Was this translation helpful? Give feedback.
-
Hi @ThomasADavis, thanks for the news, that's good to hear! And thank you very much for the input, that was really helpful - especially since you found some weird edge cases I didn't think of (and some not-so-weird oversights by yours truly :-)). Currently I'm doing some fine polish on main and rebase them on the feature branch. I expect NetBox 4.1 in the next few days, and will release 1.1.0 GA shortly thereafter. |
Beta Was this translation helpful? Give feedback.
-
NetBox DNS 1.1.0 has just been released. |
Beta Was this translation helpful? Give feedback.
-
Hi, As heavy users of the IPAM-Coupling feature, we now need to transition to DNSSync. While we've successfully completed the migration steps on our development machine, I am having some difficulty fully understanding the overall concept. I have the following question: In the DNSSync documentation, it states: "IPAM DNSsync no longer overwrites the 'DNS Name' field of IP addresses but uses it to create DNS records. One downside is that IDNs must be formatted in Punycode instead of being entered directly, but the advantage is that the 'DNS Name' field is now properly validated." If I create a new IP address and enter just the hostname (e.g., "host1"), no record is created, which is expected. However, if I enter a fully qualified domain name (FQDN) with a non-existent zone, such as "host1.failure1.example.com," no record is created either. Does this mean that, compared to IPAM-Coupling, DNSSync relies on accurate data input by users? Or am I overlooking something important? Thanks, |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I could also add DNS records to the IP address tables so you can check correct record assignments without having to go to the detail view for each address ... let me see ... |
Beta Was this translation helpful? Give feedback.
-
If you need more time: NetBox DNS 1.0.x still has IPAM Coupling and is compatible with NetBox 4.1. This is a temporary situation, though - possibly it will still work with 4.2, but at some point there will be changes in NetBox that break compatibility beyond the point where it can be fixed easily. |
Beta Was this translation helpful? Give feedback.
-
Another question came up during testing: I have several IP addresses with DNS A records in more than one zone. Is it common practice to let DNSSync create the first A record (e.g., "host1.zone1.example.com") and then manually create the second A record (e.g., "host1.zone2.example.com")? |
Beta Was this translation helpful? Give feedback.
-
Okay, I believe this will be my last question before the migration. :) I would like to continue using a custom field with the type Object(Zone) at the device level, but in a custom script, I need to retrieve the name of the zone. What is the best way to access the name property of this custom field? Using |
Beta Was this translation helpful? Give feedback.
-
Never mind, as you have seen recently questions usually lead to improvements :-) I think I mentioned recently that custom fields are somewhat limited in their possibilities - essentially the But since you know what class of object your CF is refrring to you can take a shortcut. from netbox_dns.models import Zone
zone = Zone.objects.get(pk=device.custom_field_data.get("my_zone")) (and again, this is not production ready :-)). |
Beta Was this translation helpful? Give feedback.
-
I've been a bit busy over the past few days :) However, we successfully completed the migration to DNSSync today. Thank you very much! |
Beta Was this translation helpful? Give feedback.
-
For those still relying on IPAM Coupling: As I said previously I made some effort to keep NetBox DNS 1.0.x (with IPAM Coupling) compatible with NetBox 4.1.x, and vice versa NetBox DNS 1.1.x (with IPAM DNSsync) with NetBox 4.0.x to give users time to to migrate to the new IPAM integration paradigm. I started adapting NetBox DNS to the upcoming NetBox 4.2.x release train recently, and the changes required for 4.2 compatibility don't seem to make it feasible to extend this transition period, so NetBox DNS 1.2.x will no longer be backward compatible with NetBox 4.1 and lower, and NetBox DNS 1.0.x (and 1.1.x) will no longer run on NetBox 4.2.x. |
Beta Was this translation helpful? Give feedback.
-
Breaking change ahead
In version 1.1.0, planned for later this autumn, the new and much more capable IPAM DNSsync feature will replace IPAM Coupling.
While still not finished, the new feature is on course for a release together with NetBox 4.1, planned for late 2024. The new feature is going to automate the creation of address records for IPAM
IPAddress
objects in a new way, doing away with the need to manually assign a zone and name to an IP address. The functionality is based on IPAMPrefix
objects being linked to NetBox DNSView
objects:dns_name
fielddns_name
so that the FQDN of the record matchesdns_name
This makes it possible to create multiple address records in different views and in more than one zone, which is necessary for split zone setups and many other purposes. It is also much simpler to have an address record (and the corresponding pointer record) created for IP addresses, which with IPAM coupling requires a manual assignment per address. In the ideal case, linking IP addresses to DNS records will be completely transparent.
On the technical side, the current custom fields
ipaddress_dns_record_name
andipaddress_dns_zone_id
are no longer necessary. There will, however, be some optional custom fields that can be used to control the records created for an IP address, such asipaddress_dns_record_ttl
andipaddress_dns_record_disable_ptr
(with the same functionality as for IPAM Coupling) and a new fieldipaddress_dns_disabled
to disable creation of a DNS record for an IP address altogether. To disable the feature altogether, just not mapping any prefix to views does the trick.Basic functionality is already working, though some polish is still needed and a release in autumn is targeted.
There is one downside: IPAM DNSsync and IPAM Coupling (the current experimental feature) cannot coexist. I tried, but the effort of making both work alternatively is not in a reasonable ratio to the usefulness of having both present at the same time. That means that the release of IPAM DNSsync will terminate the functionality of IPAM Coupling irrevocably. It does not make much sens to provide a migration path either, since the ways both work are too different - however, I'm confident that the much lower amount of maintaining DNS address records for IPAM IP addresses with IPAM DNSsync will make the transition rather painless.
Any comments, suggestions or questions are welcome!
Beta Was this translation helpful? Give feedback.
All reactions