X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fopenstack_observer%2Fsteps%2Fsync_controller_users.py;h=d7d79f73be8e504f38b02152f5619be281c891b7;hb=267606314830fbc5deb9e28dc0d47e8cbf8d68b1;hp=1ace6dbc4426f0c6c96a50f54c59092e168e02a4;hpb=f6288f8c4299a9bad92c012c11e5d401b74ad20c;p=plstackapi.git diff --git a/planetstack/openstack_observer/steps/sync_controller_users.py b/planetstack/openstack_observer/steps/sync_controller_users.py index 1ace6db..d7d79f7 100644 --- a/planetstack/openstack_observer/steps/sync_controller_users.py +++ b/planetstack/openstack_observer/steps/sync_controller_users.py @@ -6,15 +6,15 @@ from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep from core.models.site import Controller, SiteDeployment, SiteDeployment from core.models.user import User -from core.models.controllerusers import ControllerUser +from core.models.controlleruser import ControllerUser from util.logger import Logger, logging from observer.ansible import * logger = Logger(level=logging.INFO) -class SyncControllerUser(OpenStackSyncStep): - provides=[ControllerUser, User] +class SyncControllerUsers(OpenStackSyncStep): + provides=[User] requested_interval=0 def fetch_pending(self, deleted): @@ -37,7 +37,7 @@ class SyncControllerUser(OpenStackSyncStep): # We must also check if the user should have the admin role roles = ['user'] if controller_user.user.is_admin: - roles.append('admin') + roles.append('Admin') # setup user home site roles at controller if not controller_user.user.site: @@ -65,20 +65,13 @@ class SyncControllerUser(OpenStackSyncStep): 'tenant':controller_user.user.site.login_base} rendered = template.render(user_fields) - res = run_template('sync_controller_users.yaml', user_fields,path='controller_users') - - # results is an array in which each element corresponds to an - # "ok" string received per operation. If we get as many oks as - # the number of operations we issued, that means a grand success. - # Otherwise, the number of oks tell us which operation failed. expected_length = len(roles) + 1 - if (len(res)==expected_length): - controller_user.kuser_id = res[0]['id'] - controller_user.save() - elif (len(res)): - raise Exception('Could not assign roles for user %s'%user_fields['name']) - else: - raise Exception('Could not create or update user %s'%user_fields['name']) + + res = run_template('sync_controller_users.yaml', user_fields,path='controller_users', expected_num=expected_length) + + controller_user.kuser_id = res[0]['id'] + controller_user.backend_status = '1 - OK' + controller_user.save() def delete_record(self, controller_user): if controller_user.kuser_id: