StarlingX Distributed Cloud
Go to file
Gustavo Herzmann ffc92c1d10 Implement optimized OpenStackDriver
This commit implements an optimized OpenStackDriver that builds the
endpoints for subclouds directly using their management IPs instead of
retrieving them from the keystone database. Subcloud endpoints will be
removed from Keystone due to performance reasons in a future commit.

- The driver now accepts a fetch_subcloud_ips function as an argument.
- This function retrieves a dictionary of subcloud region names to
  their management IPs (without a region argument) or a specific
  subcloud's management IP (with a region argument).
- Dcmanager services and dcorch should implement their own
  fetch_subcloud_ips function to provide the driver with subcloud
  IP information.

This approach improves performance and prepares for the removal of
subcloud endpoints from Keystone.

NOTE: The original OpenStackDriver, KeystoneClient and EndpointCache
will be removed in a future commit, after the DC services are updated
to use the new optimized OpenStackDriver. The optimized one will be
integrated with the DC services in separate commits.

Test Plan:
Remove the subcloud endpoints from the keystone DB, modify the
dcmanager-audit service to use the new classes and then run the
following tests:
1. PASS - Verify that audit is able to get both the RegionOne and
          subclouds endpoints without issues using the new driver.
2. PASS - Verify that the hourly token refresh only triggers the
          refresh of central region token and endpoints.
3. PASS - Verify that when adding a new subcloud, the endpoint cache
          is updated to include the endpoints for the new subcloud.

Story: 2011106
Task: 50035

Change-Id: I146592eb17f6a5433eae25f20e8de2f01c813055
Signed-off-by: Gustavo Herzmann <gustavo.herzmann@windriver.com>
2024-05-06 10:42:48 -03:00
api-ref/source Display prestage status and versions in subcloud list 2024-01-26 14:09:19 -05:00
distributedcloud Implement optimized OpenStackDriver 2024-05-06 10:42:48 -03:00
doc Subcloud Name Reconfiguration 2023-09-07 10:30:06 -03:00
python/python3-redfish/debian python3-redfish: fix URL spelling 2023-11-14 17:15:16 -05:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:18:06 +02:00
tools/gate Adding py39 gate and removing py36 gates from zuul 2021-10-28 15:26:34 -05:00
.gitignore [Doc] OpenStack API Reference Guide 2018-09-25 08:18:08 -07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:44 +00:00
.mailmap StarlingX open source release updates 2018-08-07 11:51:21 -04:00
.zuul.yaml Clean up outdated configs in tox.ini and .zuul.yaml 2023-07-19 11:43:30 -03:00
CONTRIBUTING.rst StarlingX open source release updates 2018-08-07 11:51:21 -04:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-08-07 11:51:21 -04:00
HACKING.rst Update setup.cfg to align with StarlingX project 2019-01-07 16:34:24 +00:00
README_DC Update location of openrc in readme 2019-03-15 10:56:03 -05:00
bindep.txt Fix openstack-tox jobs for DC repo 2022-11-21 16:58:49 +00:00
centos_build_layer.cfg Build layering, add layer build config file 2019-11-08 08:40:22 +08:00
centos_dev_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_dev_wheels.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_iso_image.inc Keystone token and resource caching 2020-03-23 21:31:04 -04:00
centos_pkg_dirs Update files for relocated repo 2019-11-04 14:36:51 -05:00
centos_stable_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_stable_wheels.inc Update files for relocated repo 2019-11-04 14:36:51 -05:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:07:18 -04:00
debian_dev_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_dev_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_iso_image.inc Decontainerizing rvmc.py and Modular Integration in DC Repo 2023-11-10 18:18:23 -05:00
debian_pkg_dirs Decontainerizing rvmc.py and Modular Integration in DC Repo 2023-11-10 18:18:23 -05:00
debian_stable_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_stable_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
tox.ini Fix tox constraints and bandit 2024-01-22 15:07:43 -03:00