import datetime
from pprint import pprint
import json
-from syndicate.models import *
+from syndicate_storage.models import *
from core.models import *
from hpc.models import ContentProvider
from operator import attrgetter
userSliceInfo = []
for entry in slicePrivs:
- slicename = Slice.objects.get(id=entry.slice.id).name
- slice = Slice.objects.get(name=Slice.objects.get(id=entry.slice.id).name)
+ slice = Slice.objects.filter(id=entry.slice.id)
+ if not slice:
+ # the privilege is to a slice that doesn't exist
+ print "data model consistency problem, slice %s doesn't exist" % entry.slice.id
+ continue
+ slice = slice[0]
+ slicename = slice.name
sliverList=Sliver.objects.all()
sites_used = {}
for sliver in slice.slivers.all():
#sites_used['deploymentSites'] = sliver.node.deployment.name
# sites_used[sliver.image.name] = sliver.image.name
- sites_used[sliver.node.site.name] = sliver.numberCores
+ sites_used[sliver.node.site.name] = 1 #sliver.numberCores
sliceid = Slice.objects.get(id=entry.slice.id).id
try:
sliverList = Sliver.objects.filter(slice=entry.slice.id)
hotness = max(0.0, ((cpu*RED_LOAD) - BLUE_LOAD)/(RED_LOAD-BLUE_LOAD))
try:
- lat=float(site.location.longitude)
+ lat=float(site.location.latitude)
long=float(site.location.longitude)
except:
lat=0
return new_rows
-def slice_increase_slivers(user, user_ip, siteList, slice, count, noAct=False):
+def slice_increase_slivers(user, user_ip, siteList, slice, image, count, noAct=False):
sitesChanged = {}
# let's compute how many slivers are in use in each node of each site
sliver = Sliver(name=node.name,
slice=slice,
node=node,
- image = Image.objects.all()[0],
+ image = image,
creator = User.objects.get(email=user),
- deploymentNetwork=node.deployment,
- numberCores =1 )
+ deploymentNetwork=node.deployment)
sliver.save()
node.sliverCount = node.sliverCount + 1
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