If we got the port creation request from the Neutron ReST API and the DNS integration extension was enabled, the API would assign a default value to the 'dns_name' attribute if the user didn't specify it. But in this case, LBaaS is by-passing the ReST API, so when the DNS extension processes the request, we get a KeyError exception when looking for 'dns_name' in the request.
When LBaaS _create_ port_for_ vip creates the the request body for the port here, it doesn't include the 'dns_name' attribute: https:/ /github. com/openstack/ neutron- lbaas/blob/ master/ neutron_ lbaas/db/ loadbalancer/ loadbalancer_ db.py#L334
If we got the port creation request from the Neutron ReST API and the DNS integration extension was enabled, the API would assign a default value to the 'dns_name' attribute if the user didn't specify it. But in this case, LBaaS is by-passing the ReST API, so when the DNS extension processes the request, we get a KeyError exception when looking for 'dns_name' in the request.