Revision 3165f027 snf-cyclades-app/synnefo/api/util.py
b/snf-cyclades-app/synnefo/api/util.py | ||
---|---|---|
355 | 355 |
return wrapper |
356 | 356 |
return decorator |
357 | 357 |
|
358 |
|
|
358 | 359 |
def construct_nic_id(nic): |
359 | 360 |
return "-".join(["nic", unicode(nic.machine.id), unicode(nic.index)]) |
360 | 361 |
|
361 | 362 |
|
362 |
def network_specs_from_type(network_type): |
|
363 |
mac_prefix = None |
|
364 |
try: |
|
365 |
if network_type == 'PRIVATE_MAC_FILTERED': |
|
366 |
link = settings.PRIVATE_MAC_FILTERED_BRIDGE |
|
367 |
mac_prefix = MacPrefixPool.get_available().value |
|
368 |
elif network_type == 'PRIVATE_PHYSICAL_VLAN': |
|
369 |
link = BridgePool.get_available().value |
|
370 |
elif network_type == 'CUSTOM_ROUTED': |
|
371 |
link = settings.CUSTOM_ROUTED_ROUTING_TABLE |
|
372 |
elif network_type == 'CUSTOM_BRIDGED': |
|
373 |
link = settings.CUSTOM_BRIDGED_BRIDGE |
|
374 |
else: |
|
375 |
raise BadRequest('Unknown network network_type') |
|
376 |
except Pool.PoolExhausted: |
|
377 |
raise OverLimit('Network count limit exceeded.') |
|
363 |
def network_link_from_type(network_type): |
|
364 |
if network_type == 'PRIVATE_MAC_FILTERED': |
|
365 |
link = settings.PRIVATE_MAC_FILTERED_BRIDGE |
|
366 |
elif network_type == 'PRIVATE_PHYSICAL_VLAN': |
|
367 |
link = BridgePool.get_available().value |
|
368 |
elif network_type == 'CUSTOM_ROUTED': |
|
369 |
link = settings.CUSTOM_ROUTED_ROUTING_TABLE |
|
370 |
elif network_type == 'CUSTOM_BRIDGED': |
|
371 |
link = settings.CUSTOM_BRIDGED_BRIDGE |
|
372 |
elif network_type == 'PUBLIC_ROUTED': |
|
373 |
link = settings.PUBLIC_ROUTED_ROUTING_TABLE |
|
374 |
else: |
|
375 |
raise BadRequest('Unknown network network_type') |
|
378 | 376 |
|
379 |
return link, mac_prefix |
|
377 |
return link |
Also available in: Unified diff