Revision 7b5263e4 snf-cyclades-app/synnefo/logic/networks.py
b/snf-cyclades-app/synnefo/logic/networks.py | ||
---|---|---|
40 | 40 |
from synnefo.db.models import Network, Backend |
41 | 41 |
from synnefo.db.utils import validate_mac |
42 | 42 |
from synnefo.db.pools import EmptyPool |
43 |
from synnefo.logic import backend as backend_mod, subnets
|
|
43 |
from synnefo.logic import backend as backend_mod |
|
44 | 44 |
|
45 | 45 |
from logging import getLogger |
46 | 46 |
log = getLogger(__name__) |
... | ... | |
64 | 64 |
|
65 | 65 |
@transaction.commit_on_success |
66 | 66 |
def create(userid, name, flavor, link=None, mac_prefix=None, mode=None, |
67 |
floating_ip_pool=False, tags=None, backends=None, public=False, |
|
68 |
lazy_create=True): |
|
67 |
floating_ip_pool=False, tags=None, public=False): |
|
69 | 68 |
if flavor is None: |
70 | 69 |
raise faults.BadRequest("Missing request parameter 'type'") |
71 | 70 |
elif flavor not in Network.FLAVORS.keys(): |
... | ... | |
116 | 115 |
if not public: |
117 | 116 |
quotas.issue_and_accept_commission(network) |
118 | 117 |
|
119 |
if not lazy_create: |
|
120 |
if floating_ip_pool: |
|
121 |
backends = Backend.objects.filter(offline=False) |
|
122 |
elif backends is None: |
|
123 |
backends = [] |
|
124 |
|
|
125 |
for bend in backends: |
|
126 |
network.create_backend_network(bend) |
|
127 |
backend_mod.create_network(network=network, backend=bend, |
|
128 |
connect=True) |
|
129 | 118 |
return network |
130 | 119 |
|
131 | 120 |
|
121 |
def create_network_in_backends(network): |
|
122 |
job_ids = [] |
|
123 |
for bend in Backend.objects.filter(offline=False): |
|
124 |
network.create_backend_network(bend) |
|
125 |
jobs = backend_mod.create_network(network=network, backend=bend, |
|
126 |
connect=True) |
|
127 |
job_ids.extend(jobs) |
|
128 |
return job_ids |
|
129 |
|
|
130 |
|
|
132 | 131 |
@network_command("RENAME") |
133 | 132 |
def rename(network, name): |
134 | 133 |
network.name = name |
Also available in: Unified diff