yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #96666
[Bug 2129926] [NEW] DNS integration: port deletion fails when reverse DNS zone doesn't exist in Designate
Public bug reported:
(From an IRC conversation, 27/10/2025)
Port deletion (or any associated Neutron resource) fails with NotFound exception when reverse DNS is enabled but the reverse DNS zone (in-addr.arpa or ip6.arpa) doesn't exist in Designate.
Steps to Reproduce:
1. Enable reverse DNS lookup in neutron.conf: `allow_reverse_dns_lookup = True`
2. Create a port (e.g. by creating a floating IP) - a matching PTR record should be created
3. Manually delete the PTR record / DNS zone from Designate. Note: you might have to use --all-projects to get access to that zone.
4. Attempt to delete the port
Expected Behavior:
Port deletion should succeed. If the reverse DNS zone or PTR record doesn't exist, deletion should be idempotent (no-op).
Actual Behavior:
Port deletion fails with:
designateclient.exceptions.NotFound: Name 100.168.192.in-addr.arpa. didn't resolve
The error occurs in
https://opendev.org/openstack/neutron/src/branch/master/neutron/services/externaldns/drivers/designate/driver.py#L159
There is no exception handling for d_exc.NotFound when deleting PTR
(reverse DNS) records. The forward recordset deletion uses a different
pattern: it first lists matching recordsets (lines 141-149), builds a
list of IDs to delete (lines 168-170), then deletes them (lines
151-152). If no records exist, the list is empty and no deletions are
attempted. The PTR deletion, however, directly calls delete without
checking existence first (line 159). We should either wrap the PTR
record deletion in a try/except block to catch d_exc.NotFound and log it
as a debug message, making the deletion operation idempotent, or apply a
similar approach to the forward recorset deletion.
** Affects: neutron
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2129926
Title:
DNS integration: port deletion fails when reverse DNS zone doesn't
exist in Designate
Status in neutron:
New
Bug description:
(From an IRC conversation, 27/10/2025)
Port deletion (or any associated Neutron resource) fails with NotFound exception when reverse DNS is enabled but the reverse DNS zone (in-addr.arpa or ip6.arpa) doesn't exist in Designate.
Steps to Reproduce:
1. Enable reverse DNS lookup in neutron.conf: `allow_reverse_dns_lookup = True`
2. Create a port (e.g. by creating a floating IP) - a matching PTR record should be created
3. Manually delete the PTR record / DNS zone from Designate. Note: you might have to use --all-projects to get access to that zone.
4. Attempt to delete the port
Expected Behavior:
Port deletion should succeed. If the reverse DNS zone or PTR record doesn't exist, deletion should be idempotent (no-op).
Actual Behavior:
Port deletion fails with:
designateclient.exceptions.NotFound: Name 100.168.192.in-addr.arpa. didn't resolve
The error occurs in
https://opendev.org/openstack/neutron/src/branch/master/neutron/services/externaldns/drivers/designate/driver.py#L159
There is no exception handling for d_exc.NotFound when deleting PTR
(reverse DNS) records. The forward recordset deletion uses a different
pattern: it first lists matching recordsets (lines 141-149), builds a
list of IDs to delete (lines 168-170), then deletes them (lines
151-152). If no records exist, the list is empty and no deletions are
attempted. The PTR deletion, however, directly calls delete without
checking existence first (line 159). We should either wrap the PTR
record deletion in a try/except block to catch d_exc.NotFound and log
it as a debug message, making the deletion operation idempotent, or
apply a similar approach to the forward recorset deletion.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2129926/+subscriptions