Sync iTop: tous les champs custom (tier, connexion, ssh_user, patch_freq, pref_jour/heure, domain_ldap, excludes)
Correspondance complete iTop <-> PatchCenter: - tier_name -> tier (Tier 0 -> tier0) - connexion_method_name -> ssh_method - ssh_user_name -> ssh_user - patch_frequency_name -> patch_frequency (Monthly -> monthly) - pref_patch_jour_name -> pref_patch_jour - pref_patch_heure_name -> pref_patch_heure - patch_excludes -> patch_excludes - domain_ldap_name -> domain_ltd
This commit is contained in:
parent
3b5f0992b3
commit
be6c5158b8
@ -73,7 +73,10 @@ def sync_from_itop(db, itop_url, itop_user, itop_pass):
|
||||
"environnement,environnement_name,"
|
||||
"domaine_applicatif_name,zone_name,"
|
||||
"applicationsolution_list,contacts_list,"
|
||||
"virtualhost_name,business_criticity")
|
||||
"virtualhost_name,business_criticity,"
|
||||
"tier_name,connexion_method_name,ssh_user_name,"
|
||||
"patch_frequency_name,pref_patch_jour_name,pref_patch_heure_name,"
|
||||
"patch_excludes,domain_ldap_name,last_patch_date")
|
||||
|
||||
# Also get physical Servers
|
||||
phys = client.get_all("Server",
|
||||
@ -175,6 +178,20 @@ def sync_from_itop(db, itop_url, itop_user, itop_pass):
|
||||
existing = db.execute(text("SELECT id FROM servers WHERE LOWER(hostname)=LOWER(:h)"),
|
||||
{"h": hostname}).fetchone()
|
||||
|
||||
# Map tier: "Tier 0" -> "tier0"
|
||||
tier_raw = v.get("tier_name", "")
|
||||
tier = tier_raw.lower().replace(" ", "") if tier_raw else "a_definir"
|
||||
|
||||
# Map connexion_method -> ssh_method
|
||||
ssh_method = v.get("connexion_method_name", "") or "ssh_key"
|
||||
|
||||
# Map patch_frequency: "Monthly" -> "monthly"
|
||||
patch_freq = (v.get("patch_frequency_name", "") or "").lower() or None
|
||||
|
||||
# Map pref_patch_jour/heure
|
||||
pref_jour = (v.get("pref_patch_jour_name", "") or "").lower() or "indifferent"
|
||||
pref_heure = v.get("pref_patch_heure_name", "") or "indifferent"
|
||||
|
||||
vals = {
|
||||
"hostname": hostname,
|
||||
"fqdn": v.get("name", hostname),
|
||||
@ -192,6 +209,14 @@ def sync_from_itop(db, itop_url, itop_user, itop_pass):
|
||||
"cpu": v.get("cpu", ""),
|
||||
"ram": v.get("ram", ""),
|
||||
"hypervisor": v.get("virtualhost_name", ""),
|
||||
"tier": tier,
|
||||
"ssh_method": ssh_method,
|
||||
"ssh_user": v.get("ssh_user_name", "") or "root",
|
||||
"patch_freq": patch_freq,
|
||||
"patch_excludes": v.get("patch_excludes", ""),
|
||||
"domain_ltd": v.get("domain_ldap_name", ""),
|
||||
"pref_jour": pref_jour,
|
||||
"pref_heure": pref_heure,
|
||||
}
|
||||
|
||||
if existing:
|
||||
@ -199,7 +224,11 @@ def sync_from_itop(db, itop_url, itop_user, itop_pass):
|
||||
UPDATE servers SET fqdn=:fqdn, os_family=:os_family, os_version=:os_version,
|
||||
etat=:etat, domain_env_id=:de_id, zone_id=:zone_id,
|
||||
responsable_nom=:resp_srv, referent_nom=:resp_dom,
|
||||
commentaire=:desc, updated_at=NOW()
|
||||
commentaire=:desc, tier=:tier, ssh_method=:ssh_method,
|
||||
ssh_user=:ssh_user, patch_frequency=:patch_freq,
|
||||
patch_excludes=:patch_excludes, domain_ltd=:domain_ltd,
|
||||
pref_patch_jour=:pref_jour, pref_patch_heure=:pref_heure,
|
||||
updated_at=NOW()
|
||||
WHERE id=:sid
|
||||
"""), {**vals, "sid": existing.id})
|
||||
stats["servers_updated"] += 1
|
||||
@ -208,10 +237,14 @@ def sync_from_itop(db, itop_url, itop_user, itop_pass):
|
||||
db.execute(text("""
|
||||
INSERT INTO servers (hostname, fqdn, os_family, os_version, machine_type,
|
||||
etat, domain_env_id, zone_id, responsable_nom, referent_nom,
|
||||
commentaire, ssh_port, ssh_user, ssh_method, tier)
|
||||
commentaire, ssh_port, ssh_user, ssh_method, tier,
|
||||
patch_frequency, patch_excludes, domain_ltd,
|
||||
pref_patch_jour, pref_patch_heure)
|
||||
VALUES (:hostname, :fqdn, :os_family, :os_version, :machine_type,
|
||||
:etat, :de_id, :zone_id, :resp_srv, :resp_dom,
|
||||
:desc, 22, 'root', 'ssh_key', 'a_definir')
|
||||
:desc, 22, :ssh_user, :ssh_method, :tier,
|
||||
:patch_freq, :patch_excludes, :domain_ltd,
|
||||
:pref_jour, :pref_heure)
|
||||
"""), vals)
|
||||
stats["servers_created"] += 1
|
||||
except Exception as e:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user