Added a type to backend_status
[plstackapi.git] / planetstack / core / models / image.py
index fdeb2cc..0bca22f 100644 (file)
@@ -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,related_name='imagedeployments')
     deployment = models.ForeignKey(Deployment,related_name='imagedeployments')
-    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.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)
+