El backup cubre ahora cables, salas DCIM, ITSM y Signage (v1.70.0)
Valor para el usuario
Hasta ahora, un Full System Backup no era realmente “todo el sistema”: guardaba racks, mapas (blueprints), targets de monitorización y scripts, pero se dejaba fuera piezas enteras — las conexiones físicas de cable entre equipos, la distribución de filas dentro de las salas DCIM, toda la configuración del centro de incidencias (ITSM: políticas SLA, canales de aviso, escalados, ventanas de mantenimiento, runbooks…) y el módulo completo de cartelería digital (Signage: contenidos con sus ficheros, listas de reproducción, horarios, reproductores y proyectos de cliente). Se detectó al preguntar si el backup respaldaba realmente todos los dominios de datos — la respuesta era no. Desde v1.70.0, todo eso viaja en la maleta y un restore recupera la organización entera, reconectando cada pieza con las demás (un cable vuelve a apuntar a sus equipos recuperados, una lista de reproducción a sus contenidos recuperados, etc).
Cómo usarla
No hay ningún paso nuevo para el usuario: al generar un Full System Backup (Ajustes → Exportar) el ZIP incluye automáticamente las colecciones nuevas, y al restaurarlo en otra organización el sistema las recrea re-mapeando los IDs internos. Los ficheros de media de Signage, que llevan el ID de la organización de origen incrustado en su ruta, se recolocan automáticamente a la ruta de la organización destino.
Implementación
- Dos módulos nuevos, hermanos de
backup.py/restore.py(separados por el límite de 500 LOC del proyecto):racks/api/export/backup_domains.py(serialización, 242 LOC) yracks/api/export/restore_domains.py(restore con re-mapeo, 317 LOC). - 14 colecciones nuevas: cables físicos (
PortConnection), posición de filas en salas DCIM (RoomRowPlacement), configuración ITSM (SLAPolicy,NotificationChannel,EscalationPolicy+ niveles,MaintenanceWindow,KnownIssue,Runbook,RecurringPattern) y el CMS de Signage (MediaAssetcon sus ficheros,Playlist,Schedule,SignagePlayer,ClientProject). - El restore suma dos mapas de re-mapeo de IDs (
blueprint_map,profile_map) a los ya existentes (device_map,target_map), y recoloca los ficheros de Signage designage/<org_origen>/…asignage/<org_destino>/…. - Fuera a propósito: tokens públicos (
share_token,publish_token— se regeneran al restaurar), credenciales de player (api_credentials,http_credential— re-vinculación manual),StoredCredential/SshHostKey(material sensible, decisión aparte), catálogos globales de la instalación (VendorProfile,CustomMib) e históricos/eventos. - Los conteos nuevos entran en el
manifest.jsonintroducido en v1.69.0, así que la verificación de integridad de la creación del backup ya los vigila sin cambios adicionales. - Tests:
tests/api/test_backup_scope.py(3 nuevos) — round-trip completo con re-mapeos verificados, organización sin dominios extendidos (conteos a 0), y ZIP legacy pre-v1.70.0 que sigue restaurando sin error. Área verificada en Docker: 23 tests + mypy en verde.
Commits relacionados
c4174facfd5d330a4bdaafa91a0346cf7dda1fa6— 2026-08-20 — feat(backups): la maleta completa — cables, salas DCIM, ITSM y Signage entran al backup (task #236, PR-1.5) - v1.70.0 (#397)
Véase también
- [[crearack-tech—admin—backup-restore]]
- [[entity—racks—endpoint—backup-full]]
- [[entity—racks—service—run-full-backup]]
- [[entity—core—service—backup-service]]
- [[feature—backup-restore—additive-restore-confirmation-v1-66-2]]
- [[entity—racks—endpoint—backup-full-start]]
- [[entity—racks—endpoint—backup-full-download]]
- [[crearack—settings—backup-export-reports]]