← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1702693] [NEW] _is_dns_integration_supported is not used consistenty in L3_NAT_dbonly_mixin

 

Public bug reported:

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.

** Affects: neutron
     Importance: Undecided
     Assignee: Andrew Austin (marbindrakon)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Andrew Austin (marbindrakon)

-- 
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:
  New

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


Follow ups