Revision 0d069390 snf-cyclades-app/synnefo/logic/reconciliation.py
b/snf-cyclades-app/synnefo/logic/reconciliation.py | ||
---|---|---|
61 | 61 |
import logging |
62 | 62 |
import itertools |
63 | 63 |
import bitarray |
64 |
from datetime import datetime, timedelta
|
|
64 |
from datetime import datetime |
|
65 | 65 |
|
66 | 66 |
from django.db import transaction |
67 | 67 |
from synnefo.db.models import (Backend, VirtualMachine, Flavor, |
... | ... | |
286 | 286 |
|
287 | 287 |
def reconcile_unsynced_nics(self, server_id, db_server, gnt_server): |
288 | 288 |
building_time = (self.event_time - |
289 |
timedelta(seconds=backend_mod.BUILDING_NIC_TIMEOUT))
|
|
289 |
backend_mod.BUILDING_NIC_TIMEOUT)
|
|
290 | 290 |
db_nics = db_server.nics.exclude(state="BUILDING", |
291 | 291 |
created__lte=building_time) \ |
292 |
.order_by("index")
|
|
292 |
.order_by("id")
|
|
293 | 293 |
gnt_nics = gnt_server["nics"] |
294 | 294 |
gnt_nics_parsed = backend_mod.process_ganeti_nics(gnt_nics) |
295 | 295 |
nics_changed = len(db_nics) != len(gnt_nics) |
... | ... | |
306 | 306 |
"\tDB:\n\t\t%s\n\tGaneti:\n\t\t%s" |
307 | 307 |
db_nics_str = "\n\t\t".join(map(format_db_nic, db_nics)) |
308 | 308 |
gnt_nics_str = "\n\t\t".join(map(format_gnt_nic, |
309 |
gnt_nics_parsed.items()))
|
|
309 |
sorted(gnt_nics_parsed.items())))
|
|
310 | 310 |
self.log.info(msg, server_id, db_nics_str, gnt_nics_str) |
311 | 311 |
if self.options["fix_unsynced_nics"]: |
312 | 312 |
backend_mod.process_net_status(vm=db_server, |
... | ... | |
347 | 347 |
|
348 | 348 |
def format_gnt_nic(nic): |
349 | 349 |
nic_name, nic = nic |
350 |
return NIC_MSG % (nic_name, nic["state"], nic["ipv4"], nic["network"], |
|
350 |
return NIC_MSG % (nic_name, nic["state"], nic["ipv4"], nic["network"].id,
|
|
351 | 351 |
nic["mac"], nic["index"], nic["firewall_profile"]) |
352 | 352 |
|
353 | 353 |
|
Also available in: Unified diff