Load balancer create failed when dns extension is loaded

Bug #1615718 reported by selvakumar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Confirmed
High
Miguel Lavalle

Bug Description

when the dns extension enabled via ml2_conf.ini , the LB could not create because of the below Error

in create port of loadbalancer_dbv2.py does not supply 'dns_name' as part of the port attributes
https://github.com/openstack/neutron-lbaas/blob/master/neutron_lbaas/db/loadbalancer/loadbalancer_dbv2.py#L99

https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/extensions/dns_integration.py#L79
at 79 neutron throws the KeyError for 'dns_name'
Since during port_create
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/api/v2/base.py", line 485, in do_create
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m return obj_creator(request.context, **kwargs)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron-lbaas/neutron_lbaas/services/loadbalancer/plugin.py", line 691, in create_loadbalancer
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m allocate_vip=not driver.load_balancer.allocates_vip)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron-lbaas/neutron_lbaas/db/loadbalancer/loadbalancer_dbv2.py", line 301, in create_loadbalancer
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m context.session.flush()
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m self.force_reraise()
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m six.reraise(self.type_, self.value, self.tb)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron-lbaas/neutron_lbaas/db/loadbalancer/loadbalancer_dbv2.py", line 293, in create_loadbalancer
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m vip_address)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron-lbaas/neutron_lbaas/db/loadbalancer/loadbalancer_dbv2.py", line 110, in _create_port_for_load_balancer
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m port = self._core_plugin.create_port(context, {'port': port_data})
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1163, in create_port
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m result, mech_context = self._create_port_db(context, port)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1134, in _create_port_db
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m self.extension_manager.process_create_port(context, attrs, result)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 894, in process_create_port
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m data, result)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 869, in _call_on_ext_drivers
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m {'name': driver.name, 'method': method_name})
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m self.force_reraise()
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m six.reraise(self.type_, self.value, self.tb)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 864, in _call_on_ext_drivers
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m getattr(driver.obj, method_name)(plugin_context, data, result)
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m File "/opt/stack/neutron/neutron/plugins/ml2/extensions/dns_integration.py", line 78, in process_create_port
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m if not request_data[dns.DNSNAME]:
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00mKeyError: 'dns_name'
^[[01;31m2016-08-22 05:13:28.941 TRACE neutron.api.v2.resource ^[[01;35m^[[00m

Tags: lbaas
Revision history for this message
Michael Johnson (johnsom) wrote :

This issue has been fixed in Octavia, this bug is against neutron-lbaas.

Octavia fix: https://review.openstack.org/#/c/337939/

Changed in octavia:
importance: Undecided → High
affects: octavia → neutron
tags: added: lbaas
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

@Miguel: can you give it a look?

Changed in neutron:
assignee: nobody → Miguel Lavalle (minsel)
status: New → Confirmed
Revision history for this message
Miguel Lavalle (minsel) wrote :

We have a fix in-flight for this: https://review.openstack.org/#/c/346961/

Revision history for this message
Miguel Lavalle (minsel) wrote :

Ooops.... referred wrong patchset. This is the proposed fix: https://review.openstack.org/#/c/346221/

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.