Revision 57986639
b/snf-cyclades-app/synnefo/api/actions.py | ||
---|---|---|
41 | 41 |
from django.utils import simplejson as json |
42 | 42 |
|
43 | 43 |
from synnefo.api.faults import (BadRequest, ServiceUnavailable, |
44 |
ItemNotFound, BuildInProgress) |
|
44 |
ItemNotFound, BuildInProgress, |
|
45 |
OverLimit) |
|
45 | 46 |
from synnefo.api.util import (random_password, get_vm, get_nic_from_index, |
46 | 47 |
get_network_free_address) |
47 | 48 |
from synnefo.db.models import NetworkInterface, Network |
... | ... | |
313 | 314 |
# serviceUnavailable (503), |
314 | 315 |
# unauthorized (401), |
315 | 316 |
# badRequest (400), |
317 |
# buildInProgress (409), |
|
316 | 318 |
# badMediaType(415), |
317 | 319 |
# itemNotFound (404), |
318 | 320 |
# overLimit (413) |
319 | 321 |
|
320 | 322 |
if net.state != 'ACTIVE': |
321 |
raise ServiceUnavailable('Network not active yet')
|
|
323 |
raise BuildInProgress('Network not active yet')
|
|
322 | 324 |
|
323 | 325 |
server_id = args.get('serverRef', None) |
324 | 326 |
if not server_id: |
... | ... | |
332 | 334 |
try: |
333 | 335 |
address = get_network_free_address(net) |
334 | 336 |
except EmptyPool: |
335 |
raise ServiceUnavailable('Network is full')
|
|
337 |
raise OverLimit('Network is full')
|
|
336 | 338 |
|
337 | 339 |
log.info("Connecting VM %s to Network %s(%s)", vm, net, address) |
338 | 340 |
|
Also available in: Unified diff