X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fopenstack%2Fobserver.py;h=872cf58c97900ead62bc9cfaa2cea346e166e0c5;hb=2bd5b41d9197efcecfa92032fff4c17ee6c5e79b;hp=c0291ab08550ed42b778577757edbd19863cece9;hpb=45d57b2f8b9bed5edbd78ca0c60138a786c81e5a;p=plstackapi.git diff --git a/planetstack/openstack/observer.py b/planetstack/openstack/observer.py index c0291ab..872cf58 100644 --- a/planetstack/openstack/observer.py +++ b/planetstack/openstack/observer.py @@ -20,7 +20,7 @@ class OpenStackObserver: self.sync_tenants() self.sync_users() #self.sync_user_tenant_roles() - #self.sync_slivers() + self.sync_slivers() time.sleep(7) except: traceback.print_exc() @@ -58,13 +58,16 @@ class OpenStackObserver: pending_sites = Site.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) for site in pending_sites: self.manager.save_site(site) + site.save() site.enacted = datetime.now() site.save(update_fields=['enacted']) # get all slices that need to be synced (enacted < updated or enacted is None) pending_slices = Slice.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) for slice in pending_slices: + self.manager.init_caller(slice.creator, slice.creator.site.login_base) self.manager.save_slice(slice) + slice.save() slice.enacted = datetime.now() slice.save(update_fields=['enacted']) @@ -102,6 +105,7 @@ class OpenStackObserver: pending_users = User.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) for user in pending_users: self.manager.save_user(user) + user.save() user.enacted = datetime.now() user.save(update_fields=['enacted']) @@ -130,10 +134,11 @@ class OpenStackObserver: # get all users that need to be synced (enacted < updated or enacted is None) pending_slivers = Sliver.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) for sliver in pending_slivers: - if sliver.creator: + if not sliver.instance_id and sliver.creator: # update manager context - self.manager.init_caller(sliver.creator) + self.manager.init_caller(sliver.creator, sliver.slice.name) self.manager.save_sliver(sliver) + sliver.save() sliver.enacted = datetime.now() sliver.save(update_fields=['enacted'])