Sync refactored into abstract steps
[plstackapi.git] / planetstack / observer / steps / sync_sites.py
diff --git a/planetstack/observer/steps/sync_sites.py b/planetstack/observer/steps/sync_sites.py
new file mode 100644 (file)
index 0000000..5d7cc30
--- /dev/null
@@ -0,0 +1,26 @@
+import os
+import base64
+from planetstack.config import Config
+
+class SyncSites(OpenStackSyncStep):
+       provides=[Site]
+       def sync_record(self, site):
+               save_site = False
+               if not site.tenant_id:
+                       tenant = self.driver.create_tenant(tenant_name=site.login_base,
+                                                                                          description=site.name,
+                                                                                          enabled=site.enabled)
+                       site.tenant_id = tenant.id
+                       save_site = True
+                       # XXX - What's caller?
+                       # self.driver.add_user_role(self.caller.kuser_id, tenant.id, 'admin')
+
+               # update the record
+               if site.id and site.tenant_id:
+                       self.driver.update_tenant(site.tenant_id,
+                                                                         description=site.name,
+                                                                         enabled=site.enabled)
+
+               if (save_site):
+                       site.save() # 
+