← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1615718] Re: Load balancer create failed when dns extension is loaded

 

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

** Project changed: octavia => neutron

** Tags added: lbaas

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1615718

Title:
  Load balancer create failed when dns extension is loaded

Status in neutron:
  New

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1615718/+subscriptions