From: Scott Baker Date: Fri, 11 Jul 2014 16:48:45 +0000 (-0700) Subject: fix slivers deleted from wrong slice X-Git-Url: http://git.onelab.eu/?p=plstackapi.git;a=commitdiff_plain;h=86baef6cf008ee02a44e9609e7cd22ff52d3ec15 fix slivers deleted from wrong slice --- diff --git a/planetstack/core/dashboard/views/view_common.py b/planetstack/core/dashboard/views/view_common.py index db842cb..dfc69ab 100644 --- a/planetstack/core/dashboard/views/view_common.py +++ b/planetstack/core/dashboard/views/view_common.py @@ -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): - node = sliver.node - 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] - sliver.delete() - print "deleting sliver",sliverList[key],"at node",sliver.node.name - count=count-1 - sitesChanged[sliver.node.site.name] = sitesChanged.get(sliver.node.site.name,0) - 1 + if(not siteNames) or (sliver.node.site.name in siteNames): + sliver.delete() + print "deleting sliver",sliver.name,"at node",sliver.node.name + count=count-1 + sitesChanged[sliver.node.site.name] = sitesChanged.get(sliver.node.site.name,0) - 1 return sitesChanged