From a66e0d853ee613dfd8630de201ea5dc36fa21ce9 Mon Sep 17 00:00:00 2001 From: Admin MPCZ Date: Tue, 14 Apr 2026 19:55:42 +0200 Subject: [PATCH] Fix schema server_ips: ip_type au lieu de is_primary, VRF/GW/MASK dans description --- tools/import_ips_from_assets.py | 19 +++++++++---------- tools/import_sanef_ips.py | 11 ++++++++--- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/tools/import_ips_from_assets.py b/tools/import_ips_from_assets.py index 2d77f7b..ec636c7 100644 --- a/tools/import_ips_from_assets.py +++ b/tools/import_ips_from_assets.py @@ -70,27 +70,26 @@ def main(): continue for idx, ip_val in enumerate(ips_valid): - is_primary = (idx == 0) + ip_type = "primary" if idx == 0 else "secondary" + desc = f"VRF={vrf}" if vrf else None if args.dry_run: - print(f" DRY: {hostname:20s} {ip_val} {'(primary)' if is_primary else ''}") + print(f" DRY: {hostname:20s} {ip_val} [{ip_type}]") stats["inserted"] += 1 continue try: - # Check existant existing = conn.execute(text( "SELECT id FROM server_ips WHERE server_id=:sid AND ip_address=CAST(:ip AS inet)" ), {"sid": srv.id, "ip": ip_val}).fetchone() if existing: - if vrf: - conn.execute(text( - "UPDATE server_ips SET vrf=:v, is_primary=:p WHERE id=:id" - ), {"v": vrf, "p": is_primary, "id": existing.id}) + conn.execute(text( + "UPDATE server_ips SET ip_type=:t, description=:d WHERE id=:id" + ), {"t": ip_type, "d": desc, "id": existing.id}) stats["updated"] += 1 else: conn.execute(text(""" - INSERT INTO server_ips (server_id, ip_address, is_primary, vrf) - VALUES (:sid, CAST(:ip AS inet), :p, :v) - """), {"sid": srv.id, "ip": ip_val, "p": is_primary, "v": vrf}) + INSERT INTO server_ips (server_id, ip_address, ip_type, description) + VALUES (:sid, CAST(:ip AS inet), :t, :d) + """), {"sid": srv.id, "ip": ip_val, "t": ip_type, "d": desc}) stats["inserted"] += 1 except Exception as e: print(f" [ERR] {hostname} {ip_val}: {str(e)[:120]}") diff --git a/tools/import_sanef_ips.py b/tools/import_sanef_ips.py index f34519a..337b68e 100644 --- a/tools/import_sanef_ips.py +++ b/tools/import_sanef_ips.py @@ -67,10 +67,15 @@ def main(): if existing: skipped += 1 continue + desc_parts = [] + if vrf: desc_parts.append(f"VRF={vrf}") + if gw: desc_parts.append(f"GW={gw}") + if mask: desc_parts.append(f"MASK={mask}") + desc = " ".join(desc_parts)[:200] or None conn.execute(text(""" - INSERT INTO server_ips (server_id, ip_address, is_primary, gateway, netmask, vrf) - VALUES (:sid, CAST(:ip AS inet), true, :gw, :mask, :vrf) - """), {"sid": srv.id, "ip": ip, "gw": gw, "mask": mask, "vrf": vrf}) + INSERT INTO server_ips (server_id, ip_address, ip_type, description) + VALUES (:sid, CAST(:ip AS inet), 'primary', :d) + """), {"sid": srv.id, "ip": ip, "d": desc}) linked += 1 except Exception as e: print(f" [ERR] {vm_name} {ip}: {str(e)[:150]}")