diff --git a/planetstack/observer/steps/sync_sites.py b/planetstack/observer/steps/sync_sites.py
index ece34af..d7a0ab7 100644
--- a/planetstack/observer/steps/sync_sites.py
+++ b/planetstack/observer/steps/sync_sites.py
@@ -5,29 +5,29 @@
 from core.models.site import Site
 
 class SyncSites(OpenStackSyncStep):
-	provides=[Site]
-	requested_interval=0
+    provides=[Site]
+    requested_interval=0
 
     def fetch_pending(self):
         return Site.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
 
-	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')
+    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)
+        # 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() # 
+        if (save_site):
+            site.save() # 
 
