Revision 40576cf5 snf-cyclades-app/synnefo/logic/backend.py

b/snf-cyclades-app/synnefo/logic/backend.py
241 241
    """
242 242
    ganeti_nics = process_ganeti_nics(nics)
243 243
    db_nics = dict([(nic.id, nic)
244
                    for nic in vm.nics.prefetch_related("ips__subnet")])
244
                    for nic in vm.nics.select_related("network")
245
                                      .prefetch_related("ips")])
245 246

  
246 247
    for nic_name in set(db_nics.keys()) | set(ganeti_nics.keys()):
247 248
        db_nic = db_nics.get(nic_name)
......
266 267

  
267 268
            # Special case where the IPv4 address has changed, because you
268 269
            # need to release the old IPv4 address and reserve the new one
269
            ipv4_address = ganeti_nic["ipv4_address"]
270
            if db_nic.ipv4_address != ipv4_address:
270
            gnt_ipv4_address = ganeti_nic["ipv4_address"]
271
            db_ipv4_address = db_nic.ipv4_address
272
            if db_ipv4_address != gnt_ipv4_address:
271 273
                change_address_of_port(db_nic, vm.userid,
272
                                       old_address=db_nic.ipv4_address,
273
                                       new_address=ipv4_address,
274
                                       old_address=db_ipv4_address,
275
                                       new_address=gnt_ipv4_address,
274 276
                                       version=4)
275 277

  
276
            ipv6_address = ganeti_nic["ipv6_address"]
277
            if db_nic.ipv6_address != ipv6_address:
278
            gnt_ipv6_address = ganeti_nic["ipv6_address"]
279
            db_ipv6_address = db_nic.ipv6_address
280
            if db_ipv6_address != gnt_ipv6_address:
278 281
                change_address_of_port(db_nic, vm.userid,
279
                                       old_address=db_nic.ipv6_address,
280
                                       new_address=ipv6_address,
282
                                       old_address=db_ipv6_address,
283
                                       new_address=gnt_ipv6_address,
281 284
                                       version=6)
282 285

  
283 286
    vm.backendtime = etime

Also available in: Unified diff