Reviewed: https://review.opendev.org/c/openstack/neutron/+/837392 Committed: https://opendev.org/openstack/neutron/commit/4d3a274765a364f6f7b6bff163d6f7110bdbdbbe Submitter: "Zuul (22348)" Branch: master
commit 4d3a274765a364f6f7b6bff163d6f7110bdbdbbe Author: Jakub Libosvar <[email protected]> Date: Mon Apr 11 21:45:49 2022 +0000 Don't register config options on imports Importing some modules lead to registering config options that may collide with config options from a project that calls the import. This patch wraps the side effect that registers config options into a function that needs to be called in case the caller wants to register the options. This solution is also not perfect as it guards the common options to be registered only once even if the function is called multiple times. This is to solve problems in unittests, ideally we should always call the function just once even in our testing suites. Resolves-Bug: #1968606 Change-Id: Ic1532eb8de887ff1b1085206df11f53e22f7f524 Signed-off-by: Jakub Libosvar <[email protected]> ** 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/1968606 Title: Importing neutron.common.config module registers config options Status in neutron: Fix Released Bug description: In case neutron.common.config is imported some config options are registered as a side effect without calling any function. This is causing errors for projects that import also other modules that end up importing neutron.common.config - such as neutorn.db.models_v2. If a project needs Neutron basic DB models and uses same config options then there is no way how to make it work. Performing any action on imports is an anti-pattern in Python. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1968606/+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

