update Site admin
diff --git a/plstackapi/core/models/site.py b/plstackapi/core/models/site.py
index a2903f9..2148e48 100644
--- a/plstackapi/core/models/site.py
+++ b/plstackapi/core/models/site.py
@@ -2,7 +2,6 @@
 from django.db import models
 from plstackapi.core.models import PlCoreBase
 from plstackapi.core.models import DeploymentNetwork
-
 from plstackapi.openstack.driver import OpenStackDriver
 
 # Create your models here.
@@ -10,7 +9,7 @@
 
 class Site(PlCoreBase):
 
-    tenant_id = models.CharField(max_length=200, help_text="Keystone tenant id")
+    tenant_id = models.CharField(max_length=200, help_text="Keystone tenant id", blank=True)
     name = models.CharField(max_length=200, help_text="Name for this Site")
     site_url = models.URLField(null=True, blank=True, max_length=512, help_text="Site's Home URL Page")
     enabled = models.BooleanField(default=True, help_text="Status for this Site")
@@ -24,6 +23,30 @@
 
     def __unicode__(self):  return u'%s' % (self.name)
 
+    def save(self, *args, **kwds):
+        driver  = OpenStackDriver()
+        if not self.tenant_id:
+            tenant = driver.create_tenant(tenant_name=self.login_base, 
+                                          description=self.name, 
+                                          enabled=self.enabled)
+            self.tenant_id = tenant.id
+        # update the record
+        if self.id:
+            driver.update_tenant(self.tenant_id, 
+                                 name=self.login_base,
+                                 description=self.name,
+                                 enabled=self.enabled)
+
+        super(Site, self).save(*args, **kwds)               
+
+
+    def delete(self, *args, **kwds):
+        driver = OpenStackDriver()
+        if self.tenant_id:
+            driver.delete_tenant(self.tenant_id)
+        super(Site, self).delete(*args, **kwds)         
+        
+
 class SitePrivilege(PlCoreBase):
 
     user = models.ForeignKey('User', related_name='site_privileges')