Merge pick up, tweaked role/site/plcore_base or os_manager path when OpenStack not...
[plstackapi.git] / planetstack / core / models / sliver.py
similarity index 66%
rename from plstackapi/core/models/sliver.py
rename to planetstack/core/models/sliver.py
index 7a2fbed..8ebcbd4 100644 (file)
@@ -1,13 +1,14 @@
 import os
 from django.db import models
 from django.core import exceptions
-from plstackapi.core.models import PlCoreBase
-from plstackapi.core.models import Image
-from plstackapi.core.models import Key
-from plstackapi.core.models import Slice
-from plstackapi.core.models import Node
-from plstackapi.core.models import Site
-from plstackapi.core.models import DeploymentNetwork
+from core.models import PlCoreBase
+from core.models import Image
+from core.models import Key
+from core.models import Slice
+from core.models import Node
+from core.models import Site
+from core.models import DeploymentNetwork
+from openstack.manager import OpenStackManager
 
 # Create your models here.
 class Sliver(PlCoreBase):
@@ -23,14 +24,18 @@ class Sliver(PlCoreBase):
     numberCores = models.IntegerField(verbose_name="Number of Cores", help_text="Number of cores for sliver", default=0)
 
 
-    def __unicode__(self):  return u'%s::%s::%s' % (self.deploymentNetwork, self.slice, self.node.name)
+    def __unicode__(self):  return u'%s' % (self.instance_name)
 
     def save(self, *args, **kwds):
         if not self.name:
             self.name = self.slice.name
-        self.os_manager.save_sliver(self)
+        if not hasattr(self, 'os_manager'):
+            setattr(self, 'os_manager', OpenStackManager())
+            self.os_manager.save_sliver(self)
         super(Sliver, self).save(*args, **kwds)
 
     def delete(self, *args, **kwds):
-        self.os_manager.delete_sliver(self)
+        if not hasattr(self, 'os_manager'):
+            setattr(self, 'os_manager', OpenStackManager())
+            self.os_manager.delete_sliver(self)
         super(Sliver, self).delete(*args, **kwds)