introduce Controller model
authorTony Mack <tmack@tux.cs.princeton.edu>
Sun, 30 Nov 2014 20:33:35 +0000 (15:33 -0500)
committerTony Mack <tmack@tux.cs.princeton.edu>
Sun, 30 Nov 2014 20:33:35 +0000 (15:33 -0500)
12 files changed:
planetstack/core/models/__init__.py
planetstack/core/models/controlleruser.py [new file with mode: 0644]
planetstack/core/models/image.py
planetstack/core/models/network.py
planetstack/core/models/node.py
planetstack/core/models/serviceclass.py
planetstack/core/models/serviceresource.py
planetstack/core/models/site.py
planetstack/core/models/slice.py
planetstack/core/models/sliver.py
planetstack/core/models/user.py
planetstack/core/models/userdeployments.py [deleted file]

index 2070e16..ae5c89b 100644 (file)
@@ -5,15 +5,14 @@ from .service import Service
 from .service import ServiceAttribute
 from .tag import Tag
 from .role import Role
 from .service import ServiceAttribute
 from .tag import Tag
 from .role import Role
-from .site import Site,Deployment, DeploymentRole, DeploymentPrivilege, SiteDeployments
+from .site import Site,Deployment, DeploymentRole, DeploymentPrivilege, SiteDeployments, ControllerSites
 from .dashboard import DashboardView
 from .user import User, UserDashboardView
 from .serviceclass import ServiceClass
 from .dashboard import DashboardView
 from .user import User, UserDashboardView
 from .serviceclass import ServiceClass
-from .site import DeploymentLinkManager,DeploymentLinkDeletionManager
-from .slice import Slice, SliceDeployments
-from .site import SitePrivilege, SiteDeployments
-from .userdeployments import UserDeployments
-from .image import Image, ImageDeployments
+from .site import ControllerLinkManager,ControllerLinkDeletionManager
+from .slice import Slice, ControllerSlices
+from .controllerusers import ControllerUsers
+from .image import Image, ControllerImages
 from .node import Node
 from .serviceresource import ServiceResource
 from .slice import SliceRole
 from .node import Node
 from .serviceresource import ServiceResource
 from .slice import SliceRole
@@ -27,6 +26,6 @@ from .flavor import Flavor
 from .sliver import Sliver
 from .reservation import ReservedResource
 from .reservation import Reservation
 from .sliver import Sliver
 from .reservation import ReservedResource
 from .reservation import Reservation
-from .network import Network, NetworkParameterType, NetworkParameter, NetworkSliver, NetworkTemplate, Router, NetworkSlice, NetworkDeployments
+from .network import Network, NetworkParameterType, NetworkParameter, NetworkSliver, NetworkTemplate, Router, NetworkSlice, ControllerNetworks
 from .billing import Account, Invoice, Charge, UsableObject, Payment
 
 from .billing import Account, Invoice, Charge, UsableObject, Payment
 
diff --git a/planetstack/core/models/controlleruser.py b/planetstack/core/models/controlleruser.py
new file mode 100644 (file)
index 0000000..5a3568a
--- /dev/null
@@ -0,0 +1,26 @@
+import os
+import datetime
+from collections import defaultdict
+from django.db import models
+from django.db.models import F, Q
+from core.models import PlCoreBase,User,Controller
+from core.models import Controller,ControllerLinkManager,ControllerLinkDeletionManager
+
+class ControllerUsers(PlCoreBase):
+    objects = ControllerLinkManager()
+    deleted_objects = ControllerLinkDeletionManager()
+
+    user = models.ForeignKey(User,related_name='controllerusers')
+    controller = models.ForeignKey(Controller,related_name='controllersusers')
+    kuser_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone user id")
+
+    def __unicode__(self):  return u'%s %s' % (self.controller, self.user)
+
+    @staticmethod
+    def select_by_user(user):
+        if user.is_admin:
+            qs = ControllerUsers.objects.all()
+        else:
+            users = Users.select_by_user(user)
+            qs = ControllerUsers.objects.filter(user__in=users)
+        return qs
index fdeb2cc..a7b63b6 100644 (file)
@@ -1,8 +1,7 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
 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 Controller,ControllerLinkManager,ControllerLinkDeletionManager
 
 # Create your models here.
 
 
 # Create your models here.
 
@@ -14,13 +13,13 @@ class Image(PlCoreBase):
 
     def __unicode__(self):  return u'%s' % (self.name)
 
 
     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')
+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") 
 
     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)
+    def __unicode__(self):  return u'%s %s' % (self.image, self.controller)
 
     
 
     
index 0b3400a..d2e6411 100644 (file)
@@ -1,8 +1,8 @@
 import os
 import socket
 from django.db import models
 import os
 import socket
 from django.db import models
-from core.models import PlCoreBase, Site, Slice, Sliver, Deployment
-from core.models import DeploymentLinkManager,DeploymentLinkDeletionManager
+from core.models import PlCoreBase, Site, Slice, Sliver, Controller
+from core.models import ControllerLinkManager,ControllerLinkDeletionManager
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 from django.core.exceptions import ValidationError
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 from django.core.exceptions import ValidationError
@@ -128,13 +128,13 @@ class Network(PlCoreBase):
             qs = Network.objects.filter(owner__in=slices)
         return qs
 
             qs = Network.objects.filter(owner__in=slices)
         return qs
 
-class NetworkDeployments(PlCoreBase):
-    objects = DeploymentLinkManager()
-    deleted_objects = DeploymentLinkDeletionManager()
+class ControllerNetworks(PlCoreBase):
+    objects = ControllerLinkManager()
+    deleted_objects = ControllerLinkDeletionManager()
 
 
-    # Stores the openstack ids at various deployments
-    network = models.ForeignKey(Network, related_name='networkdeployments')
-    deployment = models.ForeignKey(Deployment, related_name='networkdeployments')
+    # Stores the openstack ids at various controllers
+    network = models.ForeignKey(Network, related_name='controllernetworks')
+    controller = models.ForeignKey(Controller, related_name='controllernetworks')
     net_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum network")
     router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum router id")
     subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum subnet id")
     net_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum network")
     router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum router id")
     subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum subnet id")
@@ -146,11 +146,11 @@ class NetworkDeployments(PlCoreBase):
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
-            qs = NetworkDeployments.objects.all()
+            qs = NetworkControllers.objects.all()
         else:
             slices = Slice.select_by_user(user)
             networks = Network.objects.filter(owner__in=slices)
         else:
             slices = Slice.select_by_user(user)
             networks = Network.objects.filter(owner__in=slices)
-            qs = NetworkDeployments.objects.filter(network__in=networks)
+            qs = NetworkControllers.objects.filter(network__in=networks)
         return qs
 
 class NetworkSlice(PlCoreBase):
         return qs
 
 class NetworkSlice(PlCoreBase):
index 9271268..903c25f 100644 (file)
@@ -1,7 +1,7 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
 import os
 from django.db import models
 from core.models import PlCoreBase
-from core.models import Site,Deployment
+from core.models import SiteDeployment, Controller
 from core.models import Tag
 from django.contrib.contenttypes import generic
 
 from core.models import Tag
 from django.contrib.contenttypes import generic
 
@@ -9,8 +9,7 @@ from django.contrib.contenttypes import generic
 
 class Node(PlCoreBase):
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Node")
 
 class Node(PlCoreBase):
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Node")
-    site  = models.ForeignKey(Site, related_name='nodes')
-    deployment = models.ForeignKey(Deployment, related_name='nodes')
+    site_deployment = models.ForeignKey(SiteDeployment, related_name='nodes')
     tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.name)
     tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.name)
index c339b67..4268568 100644 (file)
@@ -1,8 +1,6 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
 import os
 from django.db import models
 from core.models import PlCoreBase
-from core.models import Site
-from core.models import Deployment
 
 def get_default_serviceclass():
     try:
 
 def get_default_serviceclass():
     try:
index 2f88dc9..d5c86cd 100644 (file)
@@ -1,8 +1,6 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
 import os
 from django.db import models
 from core.models import PlCoreBase
-from core.models import Site
-from core.models import Deployment
 from core.models import ServiceClass
 
 # Create your models here.
 from core.models import ServiceClass
 
 # Create your models here.
index 2404e34..5381a08 100644 (file)
@@ -10,7 +10,7 @@ from planetstack.config import Config
 
 config = Config()
 
 
 config = Config()
 
-class DeploymentLinkDeletionManager(PlCoreBaseDeletionManager):
+class ControllerLinkDeletionManager(PlCoreBaseDeletionManager):
     def get_queryset(self):
         parent=super(DeploymentLinkDeletionManager, self)
         try:
     def get_queryset(self):
         parent=super(DeploymentLinkDeletionManager, self)
         try:
@@ -20,7 +20,7 @@ class DeploymentLinkDeletionManager(PlCoreBaseDeletionManager):
 
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
         if (backend_type):
 
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
         if (backend_type):
-            return parent_queryset.filter(Q(deployment__backend_type=backend_type))
+            return parent_queryset.filter(Q(controller__backend_type=backend_type))
         else:
             return parent_queryset
 
         else:
             return parent_queryset
 
@@ -29,9 +29,9 @@ class DeploymentLinkDeletionManager(PlCoreBaseDeletionManager):
         return self.get_queryset()
 
 
         return self.get_queryset()
 
 
-class DeploymentDeletionManager(PlCoreBaseDeletionManager):
+class ControllerDeletionManager(PlCoreBaseDeletionManager):
     def get_queryset(self):
     def get_queryset(self):
-        parent=super(DeploymentDeletionManager, self)
+        parent=super(ControllerDeletionManager, self)
 
         try:
             backend_type = config.observer_backend_type
 
         try:
             backend_type = config.observer_backend_type
@@ -49,9 +49,9 @@ class DeploymentDeletionManager(PlCoreBaseDeletionManager):
     def get_query_set(self):
         return self.get_queryset()
 
     def get_query_set(self):
         return self.get_queryset()
 
-class DeploymentLinkManager(PlCoreBaseManager):
+class ControllerLinkManager(PlCoreBaseManager):
     def get_queryset(self):
     def get_queryset(self):
-        parent=super(DeploymentLinkManager, self)
+        parent=super(ControllerLinkManager, self)
 
         try:
             backend_type = config.observer_backend_type
 
         try:
             backend_type = config.observer_backend_type
@@ -61,7 +61,7 @@ class DeploymentLinkManager(PlCoreBaseManager):
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
 
         if backend_type:
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
 
         if backend_type:
-            return parent_queryset.filter(Q(deployment__backend_type=backend_type))
+            return parent_queryset.filter(Q(controller__backend_type=backend_type))
         else:
             return parent_queryset
 
         else:
             return parent_queryset
 
@@ -70,7 +70,7 @@ class DeploymentLinkManager(PlCoreBaseManager):
         return self.get_queryset()
 
 
         return self.get_queryset()
 
 
-class DeploymentManager(PlCoreBaseManager):
+class ControllerManager(PlCoreBaseManager):
     def get_queryset(self):
         parent=super(DeploymentManager, self)
 
     def get_queryset(self):
         parent=super(DeploymentManager, self)
 
@@ -166,15 +166,15 @@ class SitePrivilege(PlCoreBase):
         return qs
 
 class Deployment(PlCoreBase):
         return qs
 
 class Deployment(PlCoreBase):
-    objects = DeploymentManager()
-    deleted_objects = DeploymentDeletionManager()
+    #objects = DeploymentManager()
+    #deleted_objects = DeploymentDeletionManager()
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Deployment")
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Deployment")
-    admin_user = models.CharField(max_length=200, null=True, blank=True, help_text="Username of an admin user at this deployment")
-    admin_password = models.CharField(max_length=200, null=True, blank=True, help_text="Password of theadmin user at this deployment")\r
-    admin_tenant = models.CharField(max_length=200, null=True, blank=True, help_text="Name of the tenant the admin user belongs to")\r
-    auth_url = models.CharField(max_length=200, null=True, blank=True, help_text="Auth url for the deployment")
-    backend_type = models.CharField(max_length=200, null=True, blank=True, help_text="Type of deployment, e.g. EC2, OpenStack, or OpenStack version")
-    availability_zone = models.CharField(max_length=200, null=True, blank=True, help_text="OpenStack availability zone")
+    #admin_user = models.CharField(max_length=200, null=True, blank=True, help_text="Username of an admin user at this deployment")
+    #admin_password = models.CharField(max_length=200, null=True, blank=True, help_text="Password of theadmin user at this deployment")\r
+    #admin_tenant = models.CharField(max_length=200, null=True, blank=True, help_text="Name of the tenant the admin user belongs to")\r
+    #auth_url = models.CharField(max_length=200, null=True, blank=True, help_text="Auth url for the deployment")
+    #backend_type = models.CharField(max_length=200, null=True, blank=True, help_text="Type of deployment, e.g. EC2, OpenStack, or OpenStack version")
+    #availability_zone = models.CharField(max_length=200, null=True, blank=True, help_text="OpenStack availability zone")
 
     # smbaker: the default of 'allow all' is intended for evolutions of existing
     #    deployments. When new deployments are created via the GUI, they are
 
     # smbaker: the default of 'allow all' is intended for evolutions of existing
     #    deployments. When new deployments are created via the GUI, they are
@@ -216,7 +216,7 @@ class Deployment(PlCoreBase):
 
     def __unicode__(self):  return u'%s' % (self.name)
 
 
     def __unicode__(self):  return u'%s' % (self.name)
 
-class DeploymentRole(PlCoreBase):
+class ControllerRole(PlCoreBase):
     #objects = DeploymentLinkManager()
     #deleted_objects = DeploymentLinkDeletionManager()
 
     #objects = DeploymentLinkManager()
     #deleted_objects = DeploymentLinkDeletionManager()
 
@@ -225,45 +225,63 @@ class DeploymentRole(PlCoreBase):
 
     def __unicode__(self):  return u'%s' % (self.role)
 
 
     def __unicode__(self):  return u'%s' % (self.role)
 
-class DeploymentPrivilege(PlCoreBase):
-    objects = DeploymentLinkManager()
-    deleted_objects = DeploymentLinkDeletionManager()
+class ControllerPrivilege(PlCoreBase):
+    objects = ControllerLinkManager()
+    deleted_objects = ControllerLinkDeletionManager()
 
 
-    user = models.ForeignKey('User', related_name='deploymentprivileges')
-    deployment = models.ForeignKey('Deployment', related_name='deploymentprivileges')
-    role = models.ForeignKey('DeploymentRole',related_name='deploymentprivileges')
+    user = models.ForeignKey('User', related_name='controllerprivileges')
+    controller = models.ForeignKey('Controller', related_name='controllerprivileges')
+    role = models.ForeignKey('ControllerRole',related_name='controllerprivileges')
 
 
-    def __unicode__(self):  return u'%s %s %s' % (self.deployment, self.user, self.role)
+    def __unicode__(self):  return u'%s %s %s' % (self.controller, self.user, self.role)
 
     def can_update(self, user):
         if user.is_readonly:
             return False
         if user.is_admin:
             return True
 
     def can_update(self, user):
         if user.is_readonly:
             return False
         if user.is_admin:
             return True
-        dprivs = DeploymentPrivilege.objects.filter(user=user)
-        for dpriv in dprivs:
-            if dpriv.role.role == 'admin':
+        cprivs = ControllerPrivilege.objects.filter(user=user)
+        for cpriv in dprivs:
+            if cpriv.role.role == 'admin':
                 return True
         return False
 
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
                 return True
         return False
 
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
-            qs = DeploymentPrivilege.objects.all()
+            qs = ControllerPrivilege.objects.all()
         else:
         else:
-            dpriv_ids = [dp.id for dp in DeploymentPrivilege.objects.filter(user=user)]
-            qs = DeploymentPrivilege.objects.filter(id__in=dpriv_ids)
+            cpriv_ids = [cp.id for cp in ControllerPrivilege.objects.filter(user=user)]
+            qs = ControllerPrivilege.objects.filter(id__in=cpriv_ids)
         return qs 
 
 class SiteDeployments(PlCoreBase):
         return qs 
 
 class SiteDeployments(PlCoreBase):
-    objects = DeploymentLinkManager()
-    deleted_objects = DeploymentLinkDeletionManager()
+    #objects = DeploymentLinkManager()
+    #deleted_objects = DeploymentLinkDeletionManager()
+    objects = ControllerManager()
+    deleted_objects = ControllerDeletionManager()
 
     site = models.ForeignKey(Site,related_name='sitedeployments')
     deployment = models.ForeignKey(Deployment,related_name='sitedeployments')
 
     site = models.ForeignKey(Site,related_name='sitedeployments')
     deployment = models.ForeignKey(Deployment,related_name='sitedeployments')
-    tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")    
+    availability_zone = models.CharField(max_length=200, null=True, blank=True, help_text="OpenStack availability zone")
+    #tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")    
+    def __unicode__(self):  return u'%s %s' % (self.deployment, self.site)
+
+class Controller(PlCoreBase):
+    site_deployment = models.ForeignKey(SiteDeployments,related_name='controller')
+
+    backend_type = models.CharField(max_length=200, null=True, blank=True, help_text="Type of compute controller, e.g. EC2, OpenStack, or OpenStack version")
+    auth_url = models.CharField(max_length=200, null=True, blank=True, help_text="Auth url for the compute controller")
+    admin_user = models.CharField(max_length=200, null=True, blank=True, help_text="Username of an admin user at this controller")
+    admin_password = models.CharField(max_length=200, null=True, blank=True, help_text="Password of theadmin user at this controller")
+    admin_tenant = models.CharField(max_length=200, null=True, blank=True, help_text="Name of the tenant the admin user belongs to")
+
+    def __unicode__(self):  return u'%s %s' % (self.site_deployment, self.backend_type)
 
 
-    #class Meta:
-    #    db_table = 'core_site_deployments'
-    #    #auto_created = Site
+class ControllerSites(PlCoreBase):
+    objects = ControllerLinkManager()
+    deleted_objects = ControllerLinkDeletionManager() 
 
 
+    controller = models.ForeignKey(Controller, related_name='controllersites')
+    site_deployment = models.ForeignKey(SiteDeployments, related_name='controllersites')
+    tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")
index 1f29f0e..0102b86 100644 (file)
@@ -5,13 +5,13 @@ from core.models import Site
 from core.models.site import SitePrivilege
 from core.models import User
 from core.models import Role
 from core.models.site import SitePrivilege
 from core.models import User
 from core.models import Role
-from core.models import Deployment,DeploymentLinkManager,DeploymentLinkDeletionManager
+from core.models import Controller,ControllerLinkManager,ControllerLinkDeletionManager
 from core.models import ServiceClass
 from core.models.serviceclass import get_default_serviceclass
 from core.models import Tag
 from django.contrib.contenttypes import generic
 from core.models import Service
 from core.models import ServiceClass
 from core.models.serviceclass import get_default_serviceclass
 from core.models import Tag
 from django.contrib.contenttypes import generic
 from core.models import Service
-from core.models import Deployment
+from core.models import Controller
 from django.core.exceptions import ValidationError
 
 # Create your models here.
 from django.core.exceptions import ValidationError
 
 # Create your models here.
@@ -92,9 +92,9 @@ class Slice(PlCoreBase):
         from core.models.network import Network
         nets = Network.objects.filter(slices=self)
         nets.delete() 
         from core.models.network import Network
         nets = Network.objects.filter(slices=self)
         nets.delete() 
-        # delete slice deployments
-        slice_deployments = SliceDeployments.objects.filter(slice=self)
-        slice_deployments.delete()
+        # delete slice controllers
+        slice_controllers = ControllerSlices.objects.filter(slice=self)
+        slice_controllers.delete()
         # delete slice privilege
         slice_privileges = SlicePrivilege.objects.filter(slice=self)
         slice_privileges.delete() 
         # delete slice privilege
         slice_privileges = SlicePrivilege.objects.filter(slice=self)
         slice_privileges.delete() 
@@ -128,24 +128,21 @@ class SlicePrivilege(PlCoreBase):
             qs = SlicePrivilege.objects.filter(id__in=sp_ids)
         return qs
 
             qs = SlicePrivilege.objects.filter(id__in=sp_ids)
         return qs
 
-class SliceDeployments(PlCoreBase):
-    objects = DeploymentLinkManager()
-    deleted_objects = DeploymentLinkDeletionManager()
+class ControllerSlices(PlCoreBase):
+    objects = ControllerLinkManager()
+    deleted_objects = ControllerLinkDeletionManager()
 
 
-    slice = models.ForeignKey(Slice, related_name='slicedeployments')
-    deployment = models.ForeignKey(Deployment, related_name='slicedeployments')
+    controller = models.ForeignKey(Controller, related_name='controllerslices')
+    slice = models.ForeignKey(Slice, related_name='controllerslices')
     tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")
     tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")
-    network_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum network")
-    router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum router id")
-    subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum subnet id")
 
 
-    def __unicode__(self):  return u'%s %s'  % (self.slice, self.deployment)
+    def __unicode__(self):  return u'%s %s'  % (self.slice, self.controller)
 
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
 
     @staticmethod
     def select_by_user(user):
         if user.is_admin:
-            qs = SliceDeployments.objects.all()
+            qs = ControllerSlices.objects.all()
         else:
             slices = Slice.select_by_user(user)
         else:
             slices = Slice.select_by_user(user)
-            qs = SliceDeployments.objects.filter(slice__in=slices)
+            qs = ControllerSlices.objects.filter(slice__in=slices)
         return qs    
         return qs    
index d9d2028..856e624 100644 (file)
@@ -45,7 +45,7 @@ class SliverDeletionManager(PlCoreBaseDeletionManager):
 
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
         if (backend_type):
 
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
         if (backend_type):
-            return parent_queryset.filter(Q(node__deployment__backend_type=backend_type))
+            return parent_queryset.filter(Q(node__controller__backend_type=backend_type))
         else:
             return parent_queryset
 
         else:
             return parent_queryset
 
@@ -66,7 +66,7 @@ class SliverManager(PlCoreBaseManager):
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
 
         if backend_type:
         parent_queryset = parent.get_queryset() if hasattr(parent, "get_queryset") else parent.get_query_set()
 
         if backend_type:
-            return parent_queryset.filter(Q(node__deployment__backend_type=backend_type))
+            return parent_queryset.filter(Q(node__controller__backend_type=backend_type))
         else:
             return parent_queryset
 
         else:
             return parent_queryset
 
index 7063f4f..42ea652 100644 (file)
@@ -4,7 +4,6 @@ from collections import defaultdict
 from django.db import models
 from django.db.models import F, Q
 from core.models import PlCoreBase,Site, DashboardView, DiffModelMixIn
 from django.db import models
 from django.db.models import F, Q
 from core.models import PlCoreBase,Site, DashboardView, DiffModelMixIn
-from core.models.site import Deployment
 from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
 from timezones.fields import TimeZoneField
 from operator import itemgetter, attrgetter
 from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
 from timezones.fields import TimeZoneField
 from operator import itemgetter, attrgetter
diff --git a/planetstack/core/models/userdeployments.py b/planetstack/core/models/userdeployments.py
deleted file mode 100644 (file)
index d8051bf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-import os
-import datetime
-from collections import defaultdict
-from django.db import models
-from django.db.models import F, Q
-from core.models import PlCoreBase,Site,User,Deployment
-from core.models import Deployment,DeploymentLinkManager,DeploymentLinkDeletionManager
-
-class UserDeployments(PlCoreBase):
-    objects = DeploymentLinkManager()
-    deleted_objects = DeploymentLinkDeletionManager()
-
-    user = models.ForeignKey(User,related_name='userdeployments')
-    deployment = models.ForeignKey(Deployment,related_name='userdeployments')
-    kuser_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone user id")
-
-    def __unicode__(self):  return u'%s %s' % (self.user, self.deployment.name)
-
-    @staticmethod
-    def select_by_user(user):
-        if user.is_admin:
-            qs = UserDeployments.objects.all()
-        else:
-            users = Users.select_by_user(user)
-            qs = Usereployments.objects.filter(user__in=slices)
-        return qs