c5edad224659596a2534ee58be06a8a8190366c0
This change refactors how watcher manages monkey_patching modules to achieve 2 goals. First, we want to ensure the watcher code is tested as it is used in production. While many tests can run without eventlet, the existing unit tests depend on eventlet monkey patching indirectly by importing watcher code that uses eventlet.spawn and greenthread executors. While that mostly functions today it has incorrect and inconsistent behaviour on Python 3.9 vs Python 3.12. Second, the unit tests that test the cmd module were indirectly monkey patching the test executor during the execution of the tests as a side effect of importing watcher.cmd. As such the order the tests execute in and how they are distributed across test workers changed if the test was monkey-patched or not. This change makes all tests run with monkey_patching by adding monkey patching in the watcher/tests/__init__.py This change also splits the monkey patching from the import in preparation for an eventual removal of eventlet in a future release. Change-Id: I967f3469bd66e69c00863d553bc859343afbb3ff
=======
Watcher
=======
.. image:: https://governance.openstack.org/tc/badges/watcher.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on
..
Except where otherwise noted, this document is licensed under Creative
Commons Attribution 3.0 License. You can view the license at:
https://creativecommons.org/licenses/by/3.0/
OpenStack Watcher provides a flexible and scalable resource optimization
service for multi-tenant OpenStack-based clouds.
Watcher provides a robust framework to realize a wide range of cloud
optimization goals, including the reduction of data center
operating costs, increased system performance via intelligent virtual machine
migration, increased energy efficiency and more!
* Free software: Apache license
* Wiki: https://wiki.openstack.org/wiki/Watcher
* Source: https://opendev.org/openstack/watcher
* Bugs: https://bugs.launchpad.net/watcher
* Documentation: https://docs.openstack.org/watcher/latest/
* Release notes: https://docs.openstack.org/releasenotes/watcher/
* Design specifications: https://specs.openstack.org/openstack/watcher-specs/
Description
Languages
Python
99.7%
Shell
0.3%