distcloud/distributedcloud/centos
Robert Church 9180e7df84 Add various locking support to DCManager
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>
2020-02-21 09:48:42 -05:00
..
files dcdbsync for containerized openstack services - build 2019-11-04 14:36:51 -05:00
build_srpm.data Update files for relocated repo 2019-11-04 14:36:51 -05:00
distributedcloud.spec Add various locking support to DCManager 2020-02-21 09:48:42 -05:00
stx-keystone-api-proxy.dev_docker_image OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
stx-keystone-api-proxy.stable_docker_image Update keystone-api-proxy container dependencies 2019-11-04 14:36:50 -05:00