dns_domain not getting set with vlan base provider

Bug #1912931 reported by Satish Patel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Invalid
Undecided
Unassigned

Bug Description

Recently I have install Victoria openstack using openstack-ansible and integrated with designate DNS service. I am following https://docs.openstack.org/mitaka/networking-guide/config-dns-int.html

neutron-server config: http://paste.openstack.org/show/801906/

I have set following two options on neutron server
# /etc/neutron/neutron.conf
dns_domain = tux.com.
external_dns_driver = designate

# /etc/neutron/plugins/ml2/ml2_conf.ini
extension_drivers = port_security,dns

# set dns-domain to network and i can see that in show command its properly set.
openstack network set net_vlan69 --dns-domain tux.com.

When i created port or launch instance i have noticed dns_domain attribute is None. (because of that i can't see my record getting updated on designate.

$ openstack port create --network net_vlan69 --dns-name vm-tux my-port
+-------------------------+----------------------------------------------------------------------------+
| Field | Value |
+-------------------------+----------------------------------------------------------------------------+
| admin_state_up | UP |
| allowed_address_pairs | |
| binding_host_id | |
| binding_profile | |
| binding_vif_details | |
| binding_vif_type | unbound |
| binding_vnic_type | normal |
| created_at | 2021-01-24T06:05:05Z |
| data_plane_status | None |
| description | |
| device_id | |
| device_owner | |
| dns_assignment | fqdn='vm-tux.tux.com.', hostname='vm-tux', ip_address='10.69.1.236' |
| dns_domain | None |
| dns_name | vm-tux |
| extra_dhcp_opts | |
| fixed_ips | ip_address='10.69.1.236', subnet_id='dfbe8e18-25fa-4271-9ba5-4616eb7d56de' |
| id | fe9aefb6-fffb-4cae-94a4-11895223cdf9 |
| ip_allocation | None |
| mac_address | fa:16:3e:24:5c:38 |
| name | my-port |
| network_id | c17a0287-82b0-4976-90f7-403b60a185e4 |
| numa_affinity_policy | None |
| port_security_enabled | True |
| project_id | f1502c79c70f4651be8ffc7b844b584f |
| propagate_uplink_status | None |
| qos_network_policy_id | None |
| qos_policy_id | None |
| resource_request | None |
| revision_number | 1 |
| security_group_ids | 2af564c0-67df-44a9-bdcd-2d85b57628b4 |
| status | DOWN |
| tags | |
| trunk_details | None |
| updated_at | 2021-01-24T06:05:06Z |
+-------------------------+----------------------------------------------------------------------------+

Tags: dns
Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

This is the expected behaviour, you can override the dns-domain per port, if you do not specify it, the value is taken from the associated network, but it is not copied into the field for the port. Otherwise a change of the dns-domain for the network would no longer affect the port.

Changed in neutron:
status: New → Invalid
Revision history for this message
Dr. Jens Harbott (j-harbott) wrote :

Oh and regarding the actual publishing of records in designate, verify that the conditions listed in https://docs.openstack.org/neutron/latest/admin/config-dns-int-ext-serv.html#use-case-3-ports-are-published-directly-in-the-external-dns-service are met.

Revision history for this message
Satish Patel (satish-txt) wrote :

Thank you!

I don't know how did i missed that doc :) I have deployed train released last year and it was working with above configuration but look like victoria release has little different implementation so i got confused there.

As soon as adding following extension in /etc/neutron/plugins/ml2/ml2_conf.ini it works

extension_drivers = port_security,subnet_dns_publish_fixed_ip

$ openstack port csubnet set --dns-publish-fixed-ip sub_vlan69

$ openstopenstack port create --network c17a0287-82b0-4976-90f7-403b60a185e4 --dns-name my-vm my-port

$ openstack recordset list tux.com. --name my-vm.tux.com.
+--------------------------------------+----------------+------+-------------+--------+--------+
| id | name | type | records | status | action |
+--------------------------------------+----------------+------+-------------+--------+--------+
| 31b751a6-e0cf-4f21-8e24-e067f490e115 | my-vm.tux.com. | A | 10.69.1.103 | ACTIVE | NONE |
+--------------------------------------+----------------+------+-------------+--------+--------+

Revision history for this message
Satish Patel (satish-txt) wrote :

One more thing i have noticed. I am getting following error in neutron-server logs

Jan 25 04:33:47 os-lab-infra-1-neutron-server-container-49d7643b neutron-server[393702]: 2021-01-25 04:33:47.134 393702 ERROR neutron.api.extensions [req-0005badc-3bbb-4924-b9d5-83728b039937 - - - - -] Unable to process extensions (auto-allocated-topology, dns-integration) because the configured plugins do not satisfy their requirements. Some features will not work as expected.
Jan 25 04:33:47 os-lab-infra-1-neutron-server-container-49d7643b neutron-server[393702]: 2021-01-25 04:33:47.135 393702 ERROR neutron.service [req-0005badc-3bbb-4924-b9d5-83728b039937 - - - - -] Unrecoverable error: please check log for details.: neutron_lib.exceptions.ExtensionsNotFound: Extensions not found: ['auto-allocated-topology', 'dns-integration'].

I have following option empty.

service_plugins =

If i add "router" in above option then error disappeared from logs, is that correct solution? (I don't use any l3-agent or virtual router in my environment)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.