Revision 99af08a4 snf-cyclades-app/synnefo/api/management/commands/network-create.py
b/snf-cyclades-app/synnefo/api/management/commands/network-create.py | ||
---|---|---|
39 | 39 |
|
40 | 40 |
from synnefo import quotas |
41 | 41 |
from synnefo.db.models import Network |
42 |
from synnefo.db.utils import validate_mac, InvalidMacAddress |
|
42 | 43 |
from synnefo.logic.backend import create_network |
43 | 44 |
from synnefo.api.util import values_from_flavor |
44 | 45 |
|
... | ... | |
174 | 175 |
mac_prefix = mac_prefix or fmac_prefix |
175 | 176 |
tags = tags or ftags |
176 | 177 |
|
178 |
try: |
|
179 |
validate_mac(mac_prefix + "0:00:00:00") |
|
180 |
except InvalidMacAddress: |
|
181 |
raise CommandError("Invalid MAC prefix '%s'" % mac_prefix) |
|
177 | 182 |
subnet, gateway, subnet6, gateway6 = validate_network_info(options) |
178 | 183 |
|
179 | 184 |
if not link or not mode: |
... | ... | |
193 | 198 |
"link": link, |
194 | 199 |
"mac_prefix": mac_prefix, |
195 | 200 |
"tags": tags, |
196 |
"state": "PENDING"}
|
|
201 |
"state": "ACTIVE"}
|
|
197 | 202 |
|
198 | 203 |
if dry_run: |
199 | 204 |
self.stdout.write("Creating network:\n") |
... | ... | |
204 | 209 |
if userid: |
205 | 210 |
quotas.issue_and_accept_commission(network) |
206 | 211 |
|
207 |
if public:
|
|
212 |
if backend_id:
|
|
208 | 213 |
# Create BackendNetwork only to the specified Backend |
209 | 214 |
network.create_backend_network(backend) |
210 |
create_network(network, backends=[backend]) |
|
211 |
else: |
|
212 |
# Create BackendNetwork entries for all Backends |
|
213 |
network.create_backend_network() |
|
214 |
create_network(network) |
|
215 |
create_network(network=network, backend=backend, connect=True) |
Also available in: Unified diff