Propósito
Cuando se restaura una copia de seguridad, una ficha de solo-ping (un equipo detectado pero nunca identificado) podía aterrizar en una página de producto de cartelería (Signage) sin haber sido verificada. El caso real: la restauración del 21-08 dejó 104 fichas fantasma asignadas a páginas, con sus sondas encendidas. unassign_ghost_profiles es el comando de limpieza para ese escenario.
Contrato
python manage.py unassign_ghost_profiles — dry-run por defecto (solo informa cuántas fichas tocaría); requiere una flag explícita para aplicar el cambio. No borra ningún equipo ni ficha: solo retira la asignación de página y apaga la sonda de las fichas fantasma (equipos con discovery_method que indica ping puro, sin verificación posterior).
La guarda que motivó el comando vive en network/services/page_assignment.py: al restaurar, racks/api/export/restore.py solo asigna página automáticamente si discovery_method="ping" — una ficha creada a mano o de un ZIP viejo (confianza 0, sin método) conserva su página tal cual estaba.
Dependencias
racks/api/export/restore.py— dispara la guarda de asignación durante un restore.network/services/page_assignment.py— lógica compartida de asignación/retirada de página.- Tests:
tests/network/test_ghost_profiles_305.py(126 líneas, cubre el ciclo completo dry-run → aplicar).
Ejemplo de uso
python manage.py unassign_ghost_profiles # dry-run, solo informa
python manage.py unassign_ghost_profiles --apply # aplica el cambio
Commits relacionados
65afcba1(13-09-2026) — comando + guardadiscovery_method=ping, v1.132.10 (task #305). Incluye un segundo commit el mismo día endureciendo la guarda tras rompertest_backup_scopeen CI.
Véase también
- [[feature—network—deep-discovery-batch-dispatch]]
- [[feature—monitoring—group-report-button]]
- [[incident—20260917—notificacion-agente-retraso-transaction-on-commit]]