X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fmodels%2Fsliver.py;h=44a6af18b0c0a072930df2ff95a02682e0eb3920;hb=de5450d5e78802e77c397f0833a6f176c137ef81;hp=03fa1d89e8804c08fb8ce5c190c526e3a230c02b;hpb=bf1153a32d6f27291dd7a3238bc1a9451e9d6154;p=plstackapi.git diff --git a/planetstack/core/models/sliver.py b/planetstack/core/models/sliver.py index 03fa1d8..44a6af1 100644 --- a/planetstack/core/models/sliver.py +++ b/planetstack/core/models/sliver.py @@ -3,11 +3,13 @@ from django.db import models from django.core import exceptions 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 Deployment +from core.models import User +from core.models import Tag +from django.contrib.contenttypes import generic # Create your models here. class Sliver(PlCoreBase): @@ -16,27 +18,19 @@ class Sliver(PlCoreBase): instance_name = models.CharField(blank=True, null=True, max_length=200, help_text="OpenStack generated name") ip = models.GenericIPAddressField(help_text="Sliver ip address", blank=True, null=True) image = models.ForeignKey(Image, related_name='slivers') - key = models.ForeignKey(Key, related_name='slivers') + #key = models.ForeignKey(Key, related_name='slivers') + creator = models.ForeignKey(User, related_name='slivers', blank=True, null=True) slice = models.ForeignKey(Slice, related_name='slivers') node = models.ForeignKey(Node, related_name='slivers') deploymentNetwork = models.ForeignKey(Deployment, verbose_name='deployment', related_name='sliver_deploymentNetwork') numberCores = models.IntegerField(verbose_name="Number of Cores", help_text="Number of cores for sliver", default=0) - + tags = generic.GenericRelation(Tag) def __unicode__(self): return u'%s' % (self.instance_name) def save(self, *args, **kwds): if not self.name: self.name = self.slice.name - if not hasattr(self, 'os_manager'): - from openstack.manager import OpenStackManager - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.save_sliver(self) + if not self.creator and hasattr(self, 'caller'): + self.creator = self.caller super(Sliver, self).save(*args, **kwds) - - def delete(self, *args, **kwds): - if not hasattr(self, 'os_manager'): - from openstack.manager import OpenStackManager - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.delete_sliver(self) - super(Sliver, self).delete(*args, **kwds)