When a port is created, a notify message gets sent to the neutron-dhcp-agent. It contains the 'dns_name' but misses 'dns_assignment' causing that internal DNS added in Liberty is not working as expected. Only a restart of the neutron-dhcp-agent helps when the ports are directly read from the database. I spent a lot of time in debugging, but was not able to locate the specific section where the notify message gets created.
I have enabled tracing in RabbitMQ and this is the problematic message. The port information is extracted by the neutron-dhcp-agent and checked against the existence of 'dns_assignment'. Because the field is missing, a standard DNS entry in the form of 'host-xxx-xxx-xxx-xxx.%{domain_id}' is created and added to the Dnsmasq resolution file.
When a port is created, a notify message gets sent to the neutron-dhcp-agent. It contains the 'dns_name' but misses 'dns_assignment' causing that internal DNS added in Liberty is not working as expected. Only a restart of the neutron-dhcp-agent helps when the ports are directly read from the database. I spent a lot of time in debugging, but was not able to locate the specific section where the notify message gets created.
I have enabled tracing in RabbitMQ and this is the problematic message. The port information is extracted by the neutron-dhcp-agent and checked against the existence of 'dns_assignment'. Because the field is missing, a standard DNS entry in the form of 'host-xxx- xxx-xxx- xxx.%{domain_ id}' is created and added to the Dnsmasq resolution file.
Node: rabbit@ os-controller02 132.202: 47136 -> 10.152.132.202:5672 agent.os- network02" >>] os-network02 >>,signedint, 0},
{<<"delivery_ mode">> ,signedint, 2},
{<<"headers" >>,table, []},
{<<"content_ encoding" >>,longstr, <<"utf- 8">>},
{<<"content_ type">> ,longstr, <<"application/ json">> }] domain\ ": null, \"_context_ request_ id\": \"req-1d44fd59- e38a-4d44- b195-58bdcfa940 45\", \"_context_ auth_token\ ": \"e511c54d625a4 d4ca480cea94c17 3123\", \"_context_ resource_ uuid\": null, \"_context_ tenant_ name\": \"service\", \"_context_user\": \"36c4334c1d014 56ebab7041c669d 40a3\", \"_context_ user_id\ ": \"36c4334c1d014 56ebab7041c669d 40a3\", \"_context_ show_deleted\ ": false, \"_context_ is_admin\ ": true, \"version\": \"1.0\", \"_context_ project_ domain\ ": null, \"_context_ timestamp\ ": \"2016-01-06 07:49:49.293954\", \"method\": \"port_ create_ end\", \"_context_roles\": [\"admin\"], \"args\": {\"payload\": {\"port\": {\"status\": \"DOWN\", \"binding: host_id\ ": \"os-compute01\", \"allowed_ address_ pairs\" : [], \"extra_ dhcp_opts\ ": [], \"device_owner\": \"compute:nova\", \"port_ security_ enabled\ ": true, \"binding: profile\ ": {}, \"qos_policy_id\": null, \"fixed_ips\": [{\"subnet_id\": \"f07588e4- ffb2-4199- b679-03fd4e814d db\", \"ip_address\": \"192.168.1.66\"}], \"id\": \"0a651aa4- b83f-463b- b9f2-35751e9268 a2\", \"security_ groups\ ": [\"0ac4af90- 4efb-4819- a522-b3cc53b37f 92\"], \"device_id\": \"776a524b- bdd6-468d- 9845-099df156ca 56\", \"name\": \"\", \"admin_state_up\": true, \"network_id\": \"38ef3fd3- d80f-4eb0- 9bbb-2e995b711e 07\", \"dns_name\": \"test-vm2\", \"binding: vif_details\ ": {\"port_filter\": true, \"ovs_hybrid_ plug\": true}, \"binding: vnic_type\ ": \"normal\", \"binding: vif_type\ ": \"ovs\", \"tenant_id\": \"7fdd23889b214 e66b94f498c9529 fbd6\", \"mac_address\": \"fa:16: 3e:d7:07: 7a\"}}} , \"_unique_id\": \"71a75d632a004 e11a2029e8bb44c 8220\", \"_context_ tenant_ id\": \"9ed3902618c54 b84a0e23dc1eb82 7dec\", \"_context_ project_ name\": \"service\", \"_context_ user_identity\ ": \"36c4334c1d014 56ebab7041c669d 40a3 9ed3902618c54b8 4a0e23dc1eb827d ec - - -\", \"_context_ tenant\ ": \"9ed3902618c54 b84a0e23dc1eb82 7dec\", \"_context_ project_ id\": \"9ed3902618c54 b84a0e23dc1eb82 7dec\", \"_context_ read_only\ ": false, \"_context_ user_domain\ ": null, \"_context_ user_name\ ": \"neutron\"}", "oslo.version": "2.0"}
Connection: 10.152.
Virtual host: openstack
User: neutron
Channel: 1
Exchange: neutron
Routing keys: [<<"dhcp_
Queue: dhcp_agent.
Properties: [{<<"priority"
Payload:
{"oslo.message": "{\"_context_