Revision 6ef51e9f snf-app/synnefo/api/servers.py
b/snf-app/synnefo/api/servers.py | ||
---|---|---|
1 |
# Copyright 2011 GRNET S.A. All rights reserved. |
|
1 |
# Copyright 2011-2012 GRNET S.A. All rights reserved.
|
|
2 | 2 |
# |
3 | 3 |
# Redistribution and use in source and binary forms, with or |
4 | 4 |
# without modification, are permitted provided that the following |
... | ... | |
161 | 161 |
# overLimit (413) |
162 | 162 |
|
163 | 163 |
log.debug('list_servers detail=%s', detail) |
164 |
user_vms = VirtualMachine.objects.filter(owner=request.user)
|
|
164 |
user_vms = VirtualMachine.objects.filter(userid=request.user)
|
|
165 | 165 |
since = util.isoparse(request.GET.get('changes-since')) |
166 | 166 |
|
167 | 167 |
if since: |
... | ... | |
197 | 197 |
|
198 | 198 |
req = util.get_request_dict(request) |
199 | 199 |
log.debug('create_server %s', req) |
200 |
owner = request.user |
|
201 | 200 |
|
202 | 201 |
try: |
203 | 202 |
server = req['server'] |
... | ... | |
231 | 230 |
raise faults.BadRequest("Malformed personality in request") |
232 | 231 |
|
233 | 232 |
image = {} |
234 |
try: |
|
235 |
img = util.get_image(image_id, owner) |
|
236 |
image['backend_id'] = img.backend_id |
|
237 |
image['format'] = img.format |
|
238 |
image['metadata'] = dict((m.meta_key.upper(), m.meta_value) |
|
239 |
for m in img.metadata.all()) |
|
240 |
except faults.ItemNotFound: |
|
241 |
img = util.get_backend_image(image_id, owner) |
|
242 |
properties = img.get('properties', {}) |
|
243 |
image['backend_id'] = img['location'] |
|
244 |
image['format'] = img['disk_format'] |
|
245 |
image['metadata'] = dict((key.upper(), val) |
|
246 |
for key, val in properties.items()) |
|
233 |
img = util.get_image(image_id, request.user) |
|
234 |
properties = img.get('properties', {}) |
|
235 |
image['backend_id'] = img['location'] |
|
236 |
image['format'] = img['disk_format'] |
|
237 |
image['metadata'] = dict((key.upper(), val) \ |
|
238 |
for key, val in properties.items()) |
|
247 | 239 |
|
248 | 240 |
flavor = util.get_flavor(flavor_id) |
249 | 241 |
password = util.random_password() |
250 | 242 |
|
251 |
count = VirtualMachine.objects.filter(owner=owner, deleted=False).count() |
|
243 |
count = VirtualMachine.objects.filter(userid=request.user, |
|
244 |
deleted=False).count() |
|
252 | 245 |
if count >= settings.MAX_VMS_PER_USER: |
253 | 246 |
raise faults.OverLimit("Server count limit exceeded for your account.") |
254 | 247 |
|
255 | 248 |
# We must save the VM instance now, so that it gets a valid vm.backend_id. |
256 | 249 |
vm = VirtualMachine.objects.create( |
257 | 250 |
name=name, |
258 |
owner=owner,
|
|
251 |
userid=request.user,
|
|
259 | 252 |
imageid=image_id, |
260 | 253 |
flavor=flavor) |
261 | 254 |
|
... | ... | |
271 | 264 |
meta_value=val, |
272 | 265 |
vm=vm) |
273 | 266 |
|
274 |
log.info('User %d created vm with %s cpus, %s ram and %s storage',
|
|
275 |
owner.id, flavor.cpu, flavor.ram, flavor.disk)
|
|
267 |
log.info('User %s created vm with %s cpus, %s ram and %s storage',
|
|
268 |
request.user, flavor.cpu, flavor.ram, flavor.disk)
|
|
276 | 269 |
|
277 | 270 |
server = vm_to_dict(vm, detail=True) |
278 | 271 |
server['status'] = 'BUILD' |
... | ... | |
392 | 385 |
# overLimit (413) |
393 | 386 |
|
394 | 387 |
log.debug('list_addresses_by_network %s %s', server_id, network_id) |
395 |
owner = request.user |
|
396 |
machine = util.get_vm(server_id, owner) |
|
397 |
network = util.get_network(network_id, owner) |
|
388 |
machine = util.get_vm(server_id, request.user) |
|
389 |
network = util.get_network(network_id, request.user) |
|
398 | 390 |
nic = util.get_nic(machine, network) |
399 | 391 |
address = nic_to_dict(nic) |
400 | 392 |
|
Also available in: Unified diff