In my opinion the problem is that disassociate_floating_ips (https://opendev.org/openstack/neutron/src/branch/master/neutron/db/l3_db.py#L1576) operates directly on DB models but has not interaction with the external DNS server, so when the port is deleted any existing DNS record associated to the floating IP will stay until the floating IP is reassociated.
I wonder if it's ok to just call _process_dns_floatingip_delete (https://opendev.org/openstack/neutron/src/branch/master/neutron/db/dns_db.py#L179)
this because we know that upon disassociation we will have a non-empty previous name and an empty current name. It might be therefore redundant to call _process_dns_floatingip_precommit and _process_dns_floatingip_postcommit (and following this process might require larger code changes)
In my opinion the problem is that disassociate_ floating_ ips (https:/ /opendev. org/openstack/ neutron/ src/branch/ master/ neutron/ db/l3_db. py#L1576) operates directly on DB models but has not interaction with the external DNS server, so when the port is deleted any existing DNS record associated to the floating IP will stay until the floating IP is reassociated.
I wonder if it's ok to just call _process_ dns_floatingip_ delete (https:/ /opendev. org/openstack/ neutron/ src/branch/ master/ neutron/ db/dns_ db.py#L179) dns_floatingip_ precommit and _process_ dns_floatingip_ postcommit (and following this process might require larger code changes)
this because we know that upon disassociation we will have a non-empty previous name and an empty current name. It might be therefore redundant to call _process_