Revision adc46059 snf-cyclades-app/synnefo/api/util.py

b/snf-cyclades-app/synnefo/api/util.py
60 60
from synnefo.db.models import (Flavor, VirtualMachine, VirtualMachineMetadata,
61 61
                               Network, BackendNetwork, NetworkInterface,
62 62
                               BridgePoolTable, MacPrefixPoolTable)
63
from synnefo.db.pools import EmptyPool
63 64

  
64 65
from synnefo.lib.astakos import get_user
65 66
from synnefo.plankton.backend import ImageBackend
......
217 218
    return cidr_block <= 29 and cidr_block > MAX_CIDR_BLOCK
218 219

  
219 220

  
221
def allocate_public_address(backend):
222
    """Allocate a public IP for a vm."""
223
    for network in backend_public_networks(backend):
224
        try:
225
            address = get_network_free_address(network)
226
            return (network, address)
227
        except EmptyPool:
228
            pass
229
    return (None, None)
230

  
231

  
220 232
def backend_public_networks(backend):
221 233
    """Return available public networks of the backend.
222 234

  

Also available in: Unified diff