Set backend status when saving backend version of object
[plstackapi.git] / planetstack / openstack_observer / steps / sync_controller_users.py
index 1ace6db..d7d79f7 100644 (file)
@@ -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 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)
 
 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):
     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:
         # 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:
    
        # 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)
                       '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
            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:
 
     def delete_record(self, controller_user):
         if controller_user.kuser_id: