X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fmodels%2Fimage.py;h=0bca22f0f84f8ecf6edb3fa37dbb7906f383b8ed;hb=319aa5b02452353b4172343c0c69f084adc5e062;hp=752dfe691f6d13055c418944ce8f7a4d277fd349;hpb=6852f66872302d44d6f135918d831b3f37c03c2d;p=plstackapi.git diff --git a/planetstack/core/models/image.py b/planetstack/core/models/image.py index 752dfe6..0bca22f 100644 --- a/planetstack/core/models/image.py +++ b/planetstack/core/models/image.py @@ -1,8 +1,7 @@ import os from django.db import models from core.models import PlCoreBase -from core.models import Deployment -from core.models import Deployment,DeploymentLinkManager,DeploymentLinkDeletionManager +from core.models import Deployment,Controller,ControllerLinkManager,ControllerLinkDeletionManager # Create your models here. @@ -11,16 +10,23 @@ class Image(PlCoreBase): disk_format = models.CharField(max_length=256) container_format = models.CharField(max_length=256) path = models.CharField(max_length=256, null=True, blank=True, help_text="Path to image on local disk") + deployments = models.ManyToManyField('Deployment', through='ImageDeployments', blank=True, help_text="Select which images should be instantiated on this deployment", related_name='images') def __unicode__(self): return u'%s' % (self.name) class ImageDeployments(PlCoreBase): - objects = DeploymentLinkManager() - deleted_objects = DeploymentLinkDeletionManager() - image = models.ForeignKey(Image) - deployment = models.ForeignKey(Deployment) - glance_image_id = models.CharField(null=True, blank=True, max_length=200, help_text="Glance image id") + image = models.ForeignKey(Image,related_name='imagedeployments') + deployment = models.ForeignKey(Deployment,related_name='imagedeployments') def __unicode__(self): return u'%s %s' % (self.image, self.deployment) +class ControllerImages(PlCoreBase): + objects = ControllerLinkManager() + deleted_objects = ControllerLinkDeletionManager() + image = models.ForeignKey(Image,related_name='controllerimages') + controller = models.ForeignKey(Controller,related_name='controllerimages') + glance_image_id = models.CharField(null=True, blank=True, max_length=200, help_text="Glance image id") + + def __unicode__(self): return u'%s %s' % (self.image, self.controller) +