yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #65671
[Bug 1702693] Re: _is_dns_integration_supported is not used consistenty in L3_NAT_dbonly_mixin
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 <aaustin@xxxxxxxxxx>
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
References