9180e7df84
Support the following lock updates in DCManager: - Provide a function decorator in common/utility.py for a synchronized lock that supports both external locks and internal fair locks. This decorator is setup, by default, for external locks. - Refactor update_subcloud_endpoint_status() so that a common private method is provided that is suitable for locking. - Update subcloud_manager.py to provide a function decorator to produce an internal fair lock based on a unique subcloud name. This decorator is specifically designed to be used with _update_subcloud_endpoint_status(). This will ensure that the multi-threaded DCManager process will only update subcloud endpoint information in a synchronized manner. - Provide an API lock to the SubcloudsController for the post, patch, and delete operations Update distributedcloud requirements and spec file to require oslo.concurrency >= 3.29.1. This is the latest version supported by the Openstack Stein and is a version containing fair lock support. Update unit tests: - Added unit test for update_subcloud_endpoint_status. This verifies high level functionality and the calling of fair locks based on the unique subcloud name. - Fixed intermittent failure seen when executing the add_subcloud unit test by mocking thread.Threading. - Leverage the use of oslo_concurrency's behavior to use the OSLO_LOCK_PATH environment variable if the lock_path config option is not set. Currently this is not set as we specify a hard coded external lock path at runtime. This allows us to set the lock path for tox tests via the test environment. Change-Id: Id1902e8553408cbdd60b648efc39d59e8edcdb55 Depends-On: https://review.opendev.org/#/c/707188/ Closes-Bug: #1855359 Signed-off-by: Robert Church <robert.church@windriver.com> |
||
---|---|---|
.. | ||
files | ||
build_srpm.data | ||
distributedcloud.spec | ||
stx-keystone-api-proxy.dev_docker_image | ||
stx-keystone-api-proxy.stable_docker_image |