- def save(self, *args, **kwds):
- # sync keystone tenant
- driver = OpenStackDriver()
-
- if not self.id:
- tenant = driver.create_tenant(tenant_name=self.name,
- description=self.description,
- enabled=self.enabled)
- self.tenant_id = tenant.id
-
- # create a network
- network = driver.create_network(name=self.name)
- self.network_id = network['id']
- # create router
- router = driver.create_router(name=self.name)
- self.router_id = router['id']
-
- else:
- # update record
- self.driver.update_tenant(self.tenant_id, name=self.name,
- description=self.description, enabled=self.enabled)
- super(Slice, self).save(*args, **kwds)
-
- def delete(self, *args, **kwds):
- # delete keystone tenant
- driver = OpenStackDriver()
- driver.delete_tenant(self.tenant_id)
- super(Slice, self).delete(*args, **kwds)