dns-integration api extension shouldn't be enabled by ovn_l3 plugin if there is no corresponding ML2 extension driver enabled

Bug #1906311 reported by Slawek Kaplonski
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Slawek Kaplonski

Bug Description

In case when ovn_l3 service plugin is used it loads L3 API extensions from the list defined in neutron.common.ovn.extensions.ML2_SUPPORTED_API_EXTENSIONS_OVN_L3 list.
One of the extensions defined there is "dns-integration" extension which adds to the Port resource "dns_name" attribute.
But in fact this shouldn't be enabled if there is no enabled one of the ML2 extensions which provides dns integration.
The issue now is that if user will pass dns_name attribute to the neutron, it will be accepted as it is defined by dns-integration extension but this field will not be visible later as it's not processed properly if there is no extension driver enabled.

Tags: api dns ovn
Revision history for this message
Slawek Kaplonski (slaweq) wrote :
Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.3.0

This issue was fixed in the openstack/neutron 16.3.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 17.1.0

This issue was fixed in the openstack/neutron 17.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 18.0.0.0rc1

This issue was fixed in the openstack/neutron 18.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-ovn 7.4.1

This issue was fixed in the openstack/networking-ovn 7.4.1 release.

Revision history for this message
Danny Webb (dannyswebb) wrote :

So these patches unfortunately break DNS functionality in neutron and cause the dns-integration plugin to fail loading because it's not recognized as a supported plugin for OVN.

2021-06-23 08:56:42.180 7 INFO neutron.plugins.ml2.managers [req-8c74d86a-1f98-4ddd-b2a6-89bd6fa53e1e - - - - -] Initializing extension driver 'dns'
2021-06-23 08:56:42.180 7 INFO neutron.plugins.ml2.extensions.dns_integration [req-8c74d86a-1f98-4ddd-b2a6-89bd6fa53e1e - - - - -] DNSExtensionDriverML2 initialization complete
2021-06-23 08:56:42.208 7 INFO neutron.plugins.ml2.managers [req-8c74d86a-1f98-4ddd-b2a6-89bd6fa53e1e - - - - -] Got dns-integration extension from driver 'dns'
2021-06-23 08:56:42.237 7 INFO neutron.api.extensions [req-8c74d86a-1f98-4ddd-b2a6-89bd6fa53e1e - - - - -] Extension dns-integration not supported by any of loaded plugins
2021-06-23 08:56:42.238 7 INFO neutron.api.extensions [req-8c74d86a-1f98-4ddd-b2a6-89bd6fa53e1e - - - - -] Extension dns-domain-ports not supported by any of loaded plugins

We've managed to get it working again with the attached patches, but we're not 100% sure these are entirely correct as we're not that familiar with the neutron codebase.

Revision history for this message
Danny Webb (dannyswebb) wrote :

second patch

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Can You check if it is maybe fixed by https://review.opendev.org/c/openstack/neutron/+/795979 ?

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Ahh, and BTW. if not, please open new bug for that. It will be easier to track :)

tags: added: dns
Changed in neutron:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.