Reviewed: https://review.openstack.org/481094 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=a6f83bc0aa7575b74c9267b2e399b9d830942e77 Submitter: Jenkins Branch: master
commit a6f83bc0aa7575b74c9267b2e399b9d830942e77 Author: Andrew Austin <[email protected]> Date: Thu Jul 6 14:18:17 2017 +0000 Use _is_dns_integration_supported for _delete_floatingip L3_NAT_dbonly_mixin._delete_floatingip still uses utils.is_extension_supported to determine if DNS-specific methods should be run rather than the self._is_dns_integration_supported method used by _create and _update. This causes issues with L3 service plugins like Cisco ACI where the core plugin is ML2 but the L3 plugin does not implement the DNS methods. When such a plugin sets _dns_integration to False, _create and _update do not call the DNS-specific plugin methods, but _delete_floatingip does which leads to an exception being raised. This patch changes _delete_floatingip to use the same method for determining DNS support as _create_floatingip and _update_floatingip. Change-Id: Ieb2db6cb96c5d6aae166aa7f0d2d481b2a3690f9 Closes-Bug: #1702693 ** 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/1702693 Title: _is_dns_integration_supported is not used consistenty in L3_NAT_dbonly_mixin Status in neutron: Fix Released Bug description: In L3_NAT_dbonly_mixin, self._is_dns_integration_supported is used in _create_floatingip and _update_floatingip to determine if DNS-specific methods need to be called on the L3 service plugin. However, in _delete_floatingip, the older utils.is_extension_supported method is used. This causes an edge case where an L3 service plugin (ApicL3ServicePlugin from apic_ml2 in my case) that does not implement the DNS methods but defines _dns_integration = False will successfully create and update a floating IP but cause a traceback when the floating IP is deleted as the older method checks for support on the core plugin (ML2) rather than the L3 service plugin. The _delete_floatingip method should use self._is_dns_integration_supported like _create_floatingip and _update_floatingip to provide consistency to plugins that use this mixin. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1702693/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

