StarlingX Distributed Cloud
Go to file
Andy Ning eb572c47f8 Check ids instead of names for DC assignment synchronization
In distributed cloud, subcloud's user ids, project ids and role ids
are synced with System Controller. But project role assignment
functions still use names to check if master resources and subcloud
resources has the same id, and if user, project and role exist before
POST call to grant project role to user. This will cause an assignment
PUT job created and identity sync status flip from "in-sync" to
"out-of-sync" and back to "in-sync" again for every audit cycle.

A more detailed explanation, at the very first audit, roles are queued
for sync but the job doesn't run and their ids don't changed at the
subcloud yet. At the same audit dcorch finds the project role assignment
actually exist (since it check names in has_same_ids()), so it maps the
the assginment of center cloud to the assignment of the subcloud with
the current ids. Once the roles sync job queued get executed, roles ids
are changed. At this point the assignment mappings becomes invalid. The
next audit can no longer find the mapped assignment from subcloud so the
logic falls into audit_discrepancy() where the has_same_ids() return
TRUE again and a PUT job is queued for the assignment. The sync endpoint
type becomes "out-of-sync" since there is a job for it. Once the PUT
function return, its status returns to "in-sync" again.

This change updated project role assignment functions to use ids
instead of names.

Change-Id: I024f2c2f97aaf9670d7b2c5c70a2dae7d6d08d38
Closes-Bug: 1847661
Signed-off-by: Andy Ning <andy.ning@windriver.com>
2019-10-25 14:36:19 -04:00
api-ref/source Clean up and standardize landing pages 2019-01-08 15:52:04 -08:00
dcdbsync Merge "dcdbsync for containerized openstack services - service" 2019-10-06 14:32:54 +00:00
dcmanager Distributed Cloud enhancements for Horizon 2019-10-18 16:57:16 -04:00
dcorch Check ids instead of names for DC assignment synchronization 2019-10-25 14:36:19 -04:00
doc Fix the error links for distcloud docs 2019-07-03 09:15:52 -04:00
etc Keystone DB sync - introduce DB sync service 2019-04-25 11:11:48 -04:00
ocf Keystone DB sync - introduce DB sync service 2019-04-25 11:11:48 -04:00
releasenotes Clean up and standardize landing pages 2019-01-08 15:52:04 -08:00
.coveragerc Fix coverage reporting for stx-distcloud 2018-11-19 10:08:13 -06:00
.coveragerc_xml StarlingX open source release updates 2018-08-07 11:51:21 -04: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
.testr.conf StarlingX open source release updates 2018-08-07 11:51:21 -04:00
.zuul.yaml Use Zuul templates 2019-08-21 12:58:28 +00: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
LICENSE StarlingX open source release updates 2018-08-07 11:51:21 -04:00
MANIFEST.in StarlingX open source release updates 2018-08-07 11:51:21 -04:00
README.rst StarlingX open source release updates 2018-08-07 11:51:21 -04:00
README_DC Update location of openrc in readme 2019-03-15 10:56:03 -05:00
babel.cfg StarlingX open source release updates 2018-08-07 11:51:21 -04:00
pylint.rc StarlingX open source release updates 2018-08-07 11:51:21 -04:00
requirements.txt StarlingX open source release updates 2018-08-07 11:51:21 -04:00
setup.cfg Keystone DB sync - introduce DB sync service 2019-04-25 11:11:48 -04:00
setup.py StarlingX open source release updates 2018-08-07 11:51:21 -04:00
setup_ddt_tests.py Fix pep8 error when running tox 2018-10-29 06:23:49 +08:00
test-requirements.txt Set up initial Gerrit requirements 2018-09-06 15:38:41 -05:00
tox.ini tox.ini changes to reflect new location of tsconfig 2019-09-05 14:52:14 -04:00

README.rst

DistributedCloud

Wind River's Distributed Cloud system supports an edge computing solution by providing central management and orchestration for a geographically distributed network of Titanium Cloud systems.