fix(snapshot): message d erreur distingue login KO de VM non trouvee (etait trompeur)
This commit is contained in:
parent
f1baae9c8e
commit
a006e3f422
@ -164,21 +164,40 @@ def snapshot_server(hostname, vm_name, branch, db, snap_name=None):
|
||||
if not vcenters:
|
||||
return {"ok": False, "vcenter": "", "detail": "Aucun vCenter actif configure", "skipped": True}
|
||||
|
||||
login_failures = []
|
||||
not_found_on = []
|
||||
for vc in vcenters:
|
||||
si = _connect_vcenter(vc.endpoint, vc_user, vc_pass)
|
||||
if not si:
|
||||
login_failures.append(vc.name)
|
||||
continue
|
||||
try:
|
||||
vm = _find_vm(si, search_name)
|
||||
if vm:
|
||||
ok, msg = _take_snapshot(vm, snap_name,
|
||||
description=f"QuickWin auto-snapshot {hostname}")
|
||||
description=f"PatchCenter snapshot {hostname}")
|
||||
return {"ok": ok, "vcenter": vc.name, "detail": msg}
|
||||
not_found_on.append(vc.name)
|
||||
finally:
|
||||
try:
|
||||
Disconnect(si)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
tried = ", ".join(vc.name for vc in vcenters)
|
||||
return {"ok": False, "vcenter": "", "detail": f"VM '{search_name}' non trouvee sur: {tried}"}
|
||||
# Tous les vCenters épuisés sans match → message précis
|
||||
if login_failures and not not_found_on:
|
||||
return {
|
||||
"ok": False, "vcenter": "",
|
||||
"detail": (f"Échec login sur tous les vCenters ({', '.join(login_failures)}). "
|
||||
"Vérifier vsphere_user/vsphere_pass dans Settings > vSphere "
|
||||
"(format attendu : user@vsphere.local ou DOMAIN\\\\user)."),
|
||||
"skipped": True,
|
||||
}
|
||||
if login_failures:
|
||||
return {
|
||||
"ok": False, "vcenter": "",
|
||||
"detail": (f"VM '{search_name}' non trouvée sur {', '.join(not_found_on)} ; "
|
||||
f"login KO sur {', '.join(login_failures)}"),
|
||||
}
|
||||
return {"ok": False, "vcenter": "",
|
||||
"detail": f"VM '{search_name}' non trouvée sur : {', '.join(not_found_on)}"}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user