X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fobserver%2Fsteps%2Fsync_site_privileges.py;h=922f5797a955589adc52e91c087131ad1e6aed10;hb=e4be32fc2c0530a6148cc93e354c95680d370598;hp=8287d4433939a78a2b25f1e5245b3d9167eed66c;hpb=45cbbc396013d526b3aa96cab9f95517196b45a6;p=plstackapi.git diff --git a/planetstack/observer/steps/sync_site_privileges.py b/planetstack/observer/steps/sync_site_privileges.py index 8287d44..922f579 100644 --- a/planetstack/observer/steps/sync_site_privileges.py +++ b/planetstack/observer/steps/sync_site_privileges.py @@ -4,6 +4,7 @@ from django.db.models import F, Q from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep from core.models.site import * +from core.models.user import UserDeployments class SyncSitePrivileges(OpenStackSyncStep): requested_interval=0 @@ -17,3 +18,14 @@ class SyncSitePrivileges(OpenStackSyncStep): self.driver.add_user_role(site_priv.user.kuser_id, site_priv.site.tenant_id, site_priv.role.role) + + # sync site privileges at all site deployments + site_deployments = SiteDeployments.objects.filter(site=site_priv.site) + for site_deployment in site_deployments: + user_deployments = UserDeployments.objects.filter(deployment=site_deployment.deployment) + if user_deployments: + kuser_id = user_deployments[0].kuser_id + driver = self.driver.admin_driver(deployment=site_deployment.name) + driver.add_user_role(kuser_id, + site_deployment.tenant_id, + slice_memb.role.role)