Revision 16855230
b/snf-cyclades-app/synnefo/api/management/commands/network-modify.py | ||
---|---|---|
167 | 167 |
" still reserved floating IPs.") |
168 | 168 |
raise CommandError(msg) |
169 | 169 |
elif floating_ip_pool is True: |
170 |
for backend in Backend.objects.filter(offline=False): |
|
170 |
existing =\ |
|
171 |
network.backend_networks.filter(operstate="ACTIVE")\ |
|
172 |
.values_list("backend", flat=True) |
|
173 |
for backend in Backend.objects.filter(offline=False)\ |
|
174 |
.exclude(id__in=existing): |
|
171 | 175 |
check_link_availability(backend, network) |
172 | 176 |
|
173 | 177 |
dhcp = options.get("dhcp") |
... | ... | |
243 | 247 |
link = network.link |
244 | 248 |
for gnet in ganeti_networks: |
245 | 249 |
if (gnet["name"] != name and |
246 |
(mode, link) in [(m, l) for (_, m, l) in gnet["group_list"]]): |
|
250 |
reduce(lambda x, y: x or y, |
|
251 |
["(%s, %s)" % (mode, link) in gnet["group_list"]], |
|
252 |
False)): |
|
253 |
# Ganeti >= 2.7 |
|
254 |
#(mode, link) in [(m, l) for (_, m, l) in gnet["group_list"]]): |
|
247 | 255 |
msg = "Can not create network '%s' in backend '%s'. Link '%s'" \ |
248 | 256 |
" is already used by network '%s" % \ |
249 |
(network, backend, gnet["name"]) |
|
257 |
(network, backend, link, gnet["name"])
|
|
250 | 258 |
raise CommandError(msg) |
Also available in: Unified diff