[OVN] neutron-ovn-db-sync-util fails without qos extension driver

Bug #1988577 reported by Jake Yip
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Jake Yip
neutron (Ubuntu)
Confirmed
Undecided
Jake Yip

Bug Description

Running neutron-ovn-db-sync-util with the following `extension_drivers=port_security` fails with

 CRITICAL neutron_ovn_db_sync_util [req-9697a0e0-6097-4d8c-a24b-2c86b6921d7f - - - - -] Unhandled error: neutron.plugins.ml2.common.exceptions.ExtensionDriverNotFound: Extension driver qos required for service plugin qos not found.
 ERROR neutron_ovn_db_sync_util Traceback (most recent call last):
 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
 ERROR neutron_ovn_db_sync_util return _run_code(code, main_globals, None,
 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
 ERROR neutron_ovn_db_sync_util exec(code, run_globals)
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/__main__.py", line 39, in <module>
 ERROR neutron_ovn_db_sync_util cli.main()
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/server/cli.py", line 430, in main
 ERROR neutron_ovn_db_sync_util run()
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/server/cli.py", line 284, in run_file
 ERROR neutron_ovn_db_sync_util runpy.run_path(target, run_name="__main__")
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
 ERROR neutron_ovn_db_sync_util return _run_module_code(code, init_globals, run_name,
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
 ERROR neutron_ovn_db_sync_util _run_code(code, mod_globals, init_globals,
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
 ERROR neutron_ovn_db_sync_util exec(code, run_globals)
 ERROR neutron_ovn_db_sync_util File "/opt/xena/bin/neutron-ovn-db-sync-util", line 10, in <module>
 ERROR neutron_ovn_db_sync_util sys.exit(main())
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/cmd/ovn/neutron_ovn_db_sync_util.py", line 222, in main
 ERROR neutron_ovn_db_sync_util manager.init()
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/manager.py", line 301, in init
 ERROR neutron_ovn_db_sync_util NeutronManager.get_instance()
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/manager.py", line 252, in get_instance
 ERROR neutron_ovn_db_sync_util cls._create_instance()
 ERROR neutron_ovn_db_sync_util File "/opt/xena/lib/python3.8/site-packages/oslo_concurrency/lockutils.py", line 360, in inner
 ERROR neutron_ovn_db_sync_util return f(*args, **kwargs)
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/manager.py", line 238, in _create_instance
 ERROR neutron_ovn_db_sync_util cls._instance = cls()
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/manager.py", line 126, in __init__
 ERROR neutron_ovn_db_sync_util plugin = self._get_plugin_instance(CORE_PLUGINS_NAMESPACE,
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/manager.py", line 162, in _get_plugin_instance
 ERROR neutron_ovn_db_sync_util plugin_inst = plugin_class()
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/quota/resource_registry.py", line 124, in wrapper
 ERROR neutron_ovn_db_sync_util return f(*args, **kwargs)
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/plugins/ml2/plugin.py", line 279, in __init__
 ERROR neutron_ovn_db_sync_util self._verify_service_plugins_requirements()
 ERROR neutron_ovn_db_sync_util File "/opt/neutron/neutron/plugins/ml2/plugin.py", line 311, in _verify_service_plugins_requirements
 ERROR neutron_ovn_db_sync_util raise ml2_exc.ExtensionDriverNotFound(
 ERROR neutron_ovn_db_sync_util neutron.plugins.ml2.common.exceptions.ExtensionDriverNotFound: Extension driver qos required for service plugin qos not found.
 ERROR neutron_ovn_db_sync_util

I tracked it down to https://opendev.org/openstack/neutron/src/commit/429fbae1d0e835f7282040f59a71c2fcb9fa7a7d/neutron/cmd/ovn/neutron_ovn_db_sync_util.py#L203 where qos is added to `conf.service_plugins` regardless whether I have qos in my deployment.

Jake Yip (waipengyip)
Changed in neutron (Ubuntu):
assignee: nobody → Jake Yip (waipengyip)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in neutron (Ubuntu):
status: New → Confirmed
Revision history for this message
olmy0414 (oleksandr-mykhalskyi) wrote :

I have the same issue, after updating from wallaby to xena

Revision history for this message
Jake Yip (waipengyip) wrote :

I had a change https://review.opendev.org/c/openstack/neutron/+/855668 but didn't manage to pass CI.

I might give it a go again when I get a free moment. Can you confirm that patch worked for you?

Changed in neutron:
assignee: nobody → Bernard Cafarelli (bcafarel)
assignee: Bernard Cafarelli (bcafarel) → Jake Yip (waipengyip)
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/zed)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/874142
Committed: https://opendev.org/openstack/neutron/commit/ff527a201738b993959c57c880224d66c2ecc725
Submitter: "Zuul (22348)"
Branch: stable/zed

commit ff527a201738b993959c57c880224d66c2ecc725
Author: Jake Yip <email address hidden>
Date: Sat Sep 3 00:11:48 2022 +1000

    Enable qos extension_driver in ovn_db_sync

    In Change Ib597b62017b56b41009dd4d7359e169f424272b0, the 'qos'
    service_plugin is enabled when doing an ovn_db_sync. However, if the
    'qos' extension_driver is not installed, it will error out.

    Append 'qos' extension_driver when using sync to fix this issue.

    Closes-Bug: #1988577
    Change-Id: I422d86b8e5650ced4e2cc722cea9cc30061905b4

tags: added: in-stable-zed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/xena)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/874144
Committed: https://opendev.org/openstack/neutron/commit/7b0b76cb9edf7b8ce86da143d5ed00d053a9b8af
Submitter: "Zuul (22348)"
Branch: stable/xena

commit 7b0b76cb9edf7b8ce86da143d5ed00d053a9b8af
Author: Jake Yip <email address hidden>
Date: Sat Sep 3 00:11:48 2022 +1000

    Enable qos extension_driver in ovn_db_sync

    In Change Ib597b62017b56b41009dd4d7359e169f424272b0, the 'qos'
    service_plugin is enabled when doing an ovn_db_sync. However, if the
    'qos' extension_driver is not installed, it will error out.

    Append 'qos' extension_driver when using sync to fix this issue.

    Closes-Bug: #1988577
    Change-Id: I422d86b8e5650ced4e2cc722cea9cc30061905b4

tags: added: in-stable-xena
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/yoga)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/874143
Committed: https://opendev.org/openstack/neutron/commit/b22132559397a652703aaa27ee3962eb7a70e0de
Submitter: "Zuul (22348)"
Branch: stable/yoga

commit b22132559397a652703aaa27ee3962eb7a70e0de
Author: Jake Yip <email address hidden>
Date: Sat Sep 3 00:11:48 2022 +1000

    Enable qos extension_driver in ovn_db_sync

    In Change Ib597b62017b56b41009dd4d7359e169f424272b0, the 'qos'
    service_plugin is enabled when doing an ovn_db_sync. However, if the
    'qos' extension_driver is not installed, it will error out.

    Append 'qos' extension_driver when using sync to fix this issue.

    Closes-Bug: #1988577
    Change-Id: I422d86b8e5650ced4e2cc722cea9cc30061905b4

tags: added: in-stable-yoga
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/874145
Committed: https://opendev.org/openstack/neutron/commit/f6029b947768a916554b8ec838ed9e5e3443e8be
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit f6029b947768a916554b8ec838ed9e5e3443e8be
Author: Jake Yip <email address hidden>
Date: Sat Sep 3 00:11:48 2022 +1000

    Enable qos extension_driver in ovn_db_sync

    In Change Ib597b62017b56b41009dd4d7359e169f424272b0, the 'qos'
    service_plugin is enabled when doing an ovn_db_sync. However, if the
    'qos' extension_driver is not installed, it will error out.

    Append 'qos' extension_driver when using sync to fix this issue.

    Closes-Bug: #1988577
    Change-Id: I422d86b8e5650ced4e2cc722cea9cc30061905b4

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 22.0.0.0rc1

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

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

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

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

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

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

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

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.