fix slivers deleted from wrong slice
authorScott Baker <smbaker@gmail.com>
Fri, 11 Jul 2014 16:48:45 +0000 (09:48 -0700)
committerScott Baker <smbaker@gmail.com>
Fri, 11 Jul 2014 16:48:45 +0000 (09:48 -0700)
planetstack/core/dashboard/views/view_common.py

index db842cb..dfc69ab 100644 (file)
@@ -218,24 +218,18 @@ def slice_increase_slivers(user, user_ip, siteList, slice, count, noAct=False):
 
 def slice_decrease_slivers(user, siteList, slice, count, noAct=False):
     sitesChanged = {}
-    sliverList ={}
     if siteList:
         siteNames = [site.name for site in siteList]
     else:
         siteNames = None
 
-    for sliver in slice.slivers.all():
-        if(not siteNames) or (sliver.node.site.name in siteNames):\r
-                node = sliver.node\r
-                sliverList[sliver.name]=node.name
-
-    for key in sliverList:
+    for sliver in list(slice.slivers.all()):
         if count>0:
-            sliver = Sliver.objects.filter(name=key)[0]\r
-            sliver.delete()\r
-            print "deleting sliver",sliverList[key],"at node",sliver.node.name\r
-            count=count-1\r
-            sitesChanged[sliver.node.site.name] = sitesChanged.get(sliver.node.site.name,0) - 1\r
+            if(not siteNames) or (sliver.node.site.name in siteNames):
+                sliver.delete()\r
+                print "deleting sliver",sliver.name,"at node",sliver.node.name\r
+                count=count-1\r
+                sitesChanged[sliver.node.site.name] = sitesChanged.get(sliver.node.site.name,0) - 1\r
 \r
     return sitesChanged