Fix schema server_ips: ip_type au lieu de is_primary, VRF/GW/MASK dans description
This commit is contained in:
parent
c905ab6db3
commit
a66e0d853e
@ -70,27 +70,26 @@ def main():
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
for idx, ip_val in enumerate(ips_valid):
|
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:
|
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
|
stats["inserted"] += 1
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
# Check existant
|
|
||||||
existing = conn.execute(text(
|
existing = conn.execute(text(
|
||||||
"SELECT id FROM server_ips WHERE server_id=:sid AND ip_address=CAST(:ip AS inet)"
|
"SELECT id FROM server_ips WHERE server_id=:sid AND ip_address=CAST(:ip AS inet)"
|
||||||
), {"sid": srv.id, "ip": ip_val}).fetchone()
|
), {"sid": srv.id, "ip": ip_val}).fetchone()
|
||||||
if existing:
|
if existing:
|
||||||
if vrf:
|
conn.execute(text(
|
||||||
conn.execute(text(
|
"UPDATE server_ips SET ip_type=:t, description=:d WHERE id=:id"
|
||||||
"UPDATE server_ips SET vrf=:v, is_primary=:p WHERE id=:id"
|
), {"t": ip_type, "d": desc, "id": existing.id})
|
||||||
), {"v": vrf, "p": is_primary, "id": existing.id})
|
|
||||||
stats["updated"] += 1
|
stats["updated"] += 1
|
||||||
else:
|
else:
|
||||||
conn.execute(text("""
|
conn.execute(text("""
|
||||||
INSERT INTO server_ips (server_id, ip_address, is_primary, vrf)
|
INSERT INTO server_ips (server_id, ip_address, ip_type, description)
|
||||||
VALUES (:sid, CAST(:ip AS inet), :p, :v)
|
VALUES (:sid, CAST(:ip AS inet), :t, :d)
|
||||||
"""), {"sid": srv.id, "ip": ip_val, "p": is_primary, "v": vrf})
|
"""), {"sid": srv.id, "ip": ip_val, "t": ip_type, "d": desc})
|
||||||
stats["inserted"] += 1
|
stats["inserted"] += 1
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f" [ERR] {hostname} {ip_val}: {str(e)[:120]}")
|
print(f" [ERR] {hostname} {ip_val}: {str(e)[:120]}")
|
||||||
|
|||||||
@ -67,10 +67,15 @@ def main():
|
|||||||
if existing:
|
if existing:
|
||||||
skipped += 1
|
skipped += 1
|
||||||
continue
|
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("""
|
conn.execute(text("""
|
||||||
INSERT INTO server_ips (server_id, ip_address, is_primary, gateway, netmask, vrf)
|
INSERT INTO server_ips (server_id, ip_address, ip_type, description)
|
||||||
VALUES (:sid, CAST(:ip AS inet), true, :gw, :mask, :vrf)
|
VALUES (:sid, CAST(:ip AS inet), 'primary', :d)
|
||||||
"""), {"sid": srv.id, "ip": ip, "gw": gw, "mask": mask, "vrf": vrf})
|
"""), {"sid": srv.id, "ip": ip, "d": desc})
|
||||||
linked += 1
|
linked += 1
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f" [ERR] {vm_name} {ip}: {str(e)[:150]}")
|
print(f" [ERR] {vm_name} {ip}: {str(e)[:150]}")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user