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