dns_domain and dns_name values not getting set while making request to create floating ip

Bug #1617219 reported by Atul Pandey
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Confirmed
Undecided
Unassigned

Bug Description

Make sure in the ml2_conf.ini extension driver dns is configured.
Under neutron.conf domain is specified .
1. Create an external Network./subnet
2. Create tenant network with domain name.
neutron net-create --dns-domain ashish.com. n1
Created a new network:
---------------------------------------------------------------+
Field Value

---------------------------------------------------------------+
admin_state_up True
availability_zone_hints
availability_zones
created_at 2016-08-19T06:41:01
description
dns_domain ashish.com.
id cdcd56d9-d4b9-4959-9a80-223d12106b11
ipv4_address_scope
ipv6_address_scope
mtu 1500
name n1
port_security_enabled True
provider:network_type vlan
provider:physical_network physnet2
provider:segmentation_id 1465
router:external False
shared False
status ACTIVE
subnets
tags
tenant_id d7ce7be3bd61442bbf5b556b54780320
updated_at 2016-08-19T06:41:02

---------------------------------------------------------------+

3. Boot a VM onto the network.
neutron port-show 94164bf9-3e63-47e0-a8d8-0075f720e1fb
-----------------------------------------------------------------------------------------------------+
Field Value

-----------------------------------------------------------------------------------------------------+
admin_state_up True
allowed_address_pairs
binding:host_id ******-mgmt
binding:profile {}
binding:vif_details {"port_filter": true, "ovs_hybrid_plug": true}
binding:vif_type ovs
binding:vnic_type normal
created_at 2016-08-19T06:41:48
description
device_id 24581b8a-968b-404d-b3a7-5d82efbf30e6
device_owner compute:nova
dns_assignment {"hostname": "test", "ip_address": "1.1.1.4", "fqdn": "test.ashish.com."}
dns_name test
extra_dhcp_opts
fixed_ips {"subnet_id": "a54721a5-8b89-4fcb-80f1-11a516be0600", "ip_address": "1.1.1.4"}
id 94164bf9-3e63-47e0-a8d8-0075f720e1fb
mac_address fa:16:3e:d8:86:51
name
network_id cdcd56d9-d4b9-4959-9a80-223d12106b11
port_security_enabled True
security_groups 61f6c41e-d962-46c6-9109-c2165280faf3
status ACTIVE
tenant_id d7ce7be3bd61442bbf5b556b54780320
updated_at 2016-08-19T06:45:42

-----------------------------------------------------------------------------------------------------+
4. Make sure your vm got ip and you are able to ping the vm using the dns name.
login as 'cirros' user. default password: 'cubswin'. use 'sudo' for root.
cirros login: cirros
Password:
$ ifconfig

5. Create a floating ip with the domain and dns_name specified for the vm assocaited port.
neutron floatingip-create bdf9a179-04f9-4013-9859-0584093fbefa --port_id 94164bf9-3e63-47e0-a8d8-0075f720e1fb --dns_domain ashish.com. --dns_name test
Created a new floatingip:
---------------------------------------------------------+
Field Value

---------------------------------------------------------+
description
dns_domain
dns_name
fixed_ip_address 1.1.1.4
floating_ip_address 20.10.82.14
floating_network_id bdf9a179-04f9-4013-9859-0584093fbefa
id e0e22ca1-a992-40a1-87c2-b507684ba6c7
port_id 94164bf9-3e63-47e0-a8d8-0075f720e1fb
router_id e824fd2b-983b-4104-ab26-e41591419b36
status DOWN
tenant_id d7ce7be3bd61442bbf5b556b54780320

---------------------------------------------------------+
stack@hlm:~$ neutron floatingip-show e0e22ca1-a992-40a1-87c2-b507684ba6c7
---------------------------------------------------------+
Field Value

---------------------------------------------------------+
description
dns_domain
dns_name
fixed_ip_address 1.1.1.4
floating_ip_address 20.10.82.14
floating_network_id bdf9a179-04f9-4013-9859-0584093fbefa
id e0e22ca1-a992-40a1-87c2-b507684ba6c7
port_id 94164bf9-3e63-47e0-a8d8-0075f720e1fb
router_id e824fd2b-983b-4104-ab26-e41591419b36
status ACTIVE
tenant_id d7ce7be3bd61442bbf5b556b54780320

---------------------------------------------------------+

ACtual : dns_name and dns_domain the floatingip_create is blank
Expected : DNS_name and dns_domain should be reflected in the created floating ip show.

Tags: dns
Atul Pandey (atul-4you)
summary: - dns_domain and dns_name values not get set while making request to
+ dns_domain and dns_name values not getting set while making request to
create floating ip
Changed in neutron:
assignee: nobody → Atul Pandey (atul-4you)
Miguel Lavalle (minsel)
tags: added: dns
Revision history for this message
Miguel Lavalle (minsel) wrote :

@Atul,

I tried to replicate the issue in my development system. I couldn't replicate it. The software is working as expected in my system, which I built freshly for this test from the master branch. Here, I walk you through the steps that I followed: http://paste.openstack.org/show/564019/. Notice that, even though I changed the name of the network and the dns domain (because my system is set up this way when I build it), I essentially did the same thing as you.

So I have a few questions:

1) Are you building your system from master or from Mitaka stable?

2) In your steps, you don't show the creation of the subnet, the creation of a router, the association of the external network with the router nor the association of network 'n1' with the same router. Did you carry out these steps properly?

3) Have you read through the documentation?: http://docs.openstack.org/mitaka/networking-guide/config-dns-int.html

Finally, I built the system I used for this test from this Vagrant configuration. Please feel free to clone it: https://github.com/miguellavalle/allinonevagrant. Please read through the README

Changed in neutron:
status: New → Incomplete
Revision history for this message
Atul Pandey (atul-4you) wrote :

@Miguel :
I guess you are correct. There might be some conf related issue in my setup.
From code perspective it seem that my self.dns_driver is not set because of which it comes out from the precommit function.

In file:
"db/l3_db.py"
if self._is_dns_integration_supported:
                LOG.info("context %s floatingip_dict %s fip %s",context,floatingip_dict,fip)
                dns_data = self._process_dns_floatingip_create_precommit(
                    context, floatingip_dict, fip)

Can you please share your local.conf/neutron.conf if you have used devstack setup for reproducing the issue.

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

I have now stumbled upon this issue again in the context of setting up functional testing for the corresponding function in OSC, see https://review.openstack.org/559068. After some local testing I found out that setting the DNS parameters on creating a floating IP only works if "external_dns_driver = designate" is set in neutron.conf. Without that parameter the options are being ignored.

What I'm wondering now is whether this is intentional behaviour or a bug. If it is intentional, then the documentation at https://docs.openstack.org/neutron/latest/admin/config-dns-int.html should probably be amended to document this behaviour. If it is a bug, then, well, it should be fixed. ;-)

I'd prefer the latter, because that would allow for the functional tests to proceed without having to add the whole designate stack into the deployment.

Changed in neutron:
assignee: Atul Pandey (atul-4you) → nobody
status: Incomplete → Confirmed
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.