← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1714641] Re: ML2: port deletion fails when dns extension is enabled

 

Reviewed:  https://review.openstack.org/500261
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=22d6a1540f6ab9029c85781d2a2cb8c7c39299c7
Submitter: Jenkins
Branch:    master

commit 22d6a1540f6ab9029c85781d2a2cb8c7c39299c7
Author: Jens Harbott <j.harbott@xxxxxxxx>
Date:   Sat Sep 2 08:00:51 2017 +0000

    Fix port deletion when dns_integration is enabled
    
    The records found in ip_allocations contain objects of type IPAddress,
    but the external dns service expects them as string, so we need to
    insert a conversion.
    
    Change-Id: I622993fc273121bfd051d2fd9c7811e2ae49a1d8
    Closes-Bug: 1714641


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  ML2: port deletion fails when dns extension is enabled

Status in neutron:
  Fix Released

Bug description:
  Setup: devstack from current master, ext-dns-integration enabled

  $ openstack port delete ex4
  Failed to delete port with name or ID 'ex4': HttpException: Internal Server Error (HTTP 500) (Request-ID: req-9a7fab16-5dba-4501-a999-88adc3766da9), Request Failed: internal server error while processing your request.
  1 of 1 ports failed to delete.

  Traceback from q-svc:

  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron.plugins.ml2.plugin [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] Deleting port 59ab0574-856d-4503-aa
  51-0ece9d01bf27 {{(pid=1047) _pre_delete_port /opt/stack/neutron/neutron/plugins/ml2/plugin.py:1480}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron_lib.callbacks.manager [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] Notify callbacks ['neutron.db.l3
  _db._prevent_l3_port_delete_callback-8786651305326', 'neutron.plugins.ml2.extensions.dns_integration._delete_port_in_external_dns_service-8786651000550'] for port, before_delete {{(
  pid=1047) _notify_loop /usr/local/lib/python2.7/dist-packages/neutron_lib/callbacks/manager.py:167}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron.services.externaldns.driver [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] Loading external dns drive
  r: designate {{(pid=1047) get_instance /opt/stack/neutron/neutron/services/externaldns/driver.py:39}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron.plugins.ml2.extensions.dns_integration [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] External DNS dr
  iver loaded: designate {{(pid=1047) _get_dns_driver /opt/stack/neutron/neutron/plugins/ml2/extensions/dns_integration.py:411}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron_lib.callbacks.manager [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] Callback neutron.plugins.ml2.ext
  ensions.dns_integration._delete_port_in_external_dns_service-8786651000550 raised sequence item 0: expected string, IPAddress found {{(pid=1047) _notify_loop /usr/local/lib/python2.
  7/dist-packages/neutron_lib/callbacks/manager.py:184}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron_lib.callbacks.manager [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] Notify callbacks [] for port, ab
  ort_delete {{(pid=1047) _notify_loop /usr/local/lib/python2.7/dist-packages/neutron_lib/callbacks/manager.py:167}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] DELETE failed.: TypeError
  : sequence item 0: expected string, IPAddress found
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation Traceback (most recent call last):
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 683, in __call__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.invoke_controller(controller, args, kwargs, state)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 574, in invoke_co
  ntroller
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     result = controller(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 93, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     setattr(e, '_RETRY_EXCEEDED', True)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
  __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 89, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 150, in wrapper
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     ectxt.value = e.inner_exc
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 138, in wrapper
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     LOG.debug("Retry wrapper got retriable exception: %s", e)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 124, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*dup_args, **dup_kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/utils.py", line 70, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/utils.py", line 109, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/resource.py", line 77, in delete
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return self.plugin_deleter(*deleter_args)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/common/utils.py", line 665, in inner
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(self, context, *args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 163, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return method(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 93, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     setattr(e, '_RETRY_EXCEEDED', True)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 89, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 150, in wrapper
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     ectxt.value = e.inner_exc
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 138, in wrapper
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*args, **kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     LOG.debug("Retry wrapper got retriable exception: %s", e)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self.force_reraise()
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     six.reraise(self.type_, self.value, self.tb)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/db/api.py", line 124, in wrapped
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     return f(*dup_args, **dup_kwargs)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1500, in delete_port
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     self._pre_delete_port(context, id, l3_port_check)
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1494, in _pre_delete_port
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation     raise e.errors[0].error
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation TypeError: sequence item 0: expected string, IPAddress found
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: ERROR neutron.pecan_wsgi.hooks.translation
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: DEBUG neutron.pecan_wsgi.hooks.notifier [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] No notification will be sent due to unsuccessful status code: 500 {{(pid=1047) after /opt/stack/neutron/neutron/pecan_wsgi/hooks/notifier.py:74}}
  Sep 02 07:35:40 jh-devstack-02 neutron-server[1033]: INFO neutron.wsgi [None req-9a7fab16-5dba-4501-a999-88adc3766da9 admin admin] 192.168.0.23,192.168.0.23 "DELETE /v2.0/ports/59ab0574-856d-4503-aa51-0ece9d01bf27 HTTP/1.1" status: 500  len: 368 time: 0.4127610

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


References