docs(A04.P006): v1.4 — agregar Procedimiento de Ejecución y actualizar resultados

- Agrega sección 🚀 Procedimiento de Ejecución al inicio del doc
- 3 pasos claros: crear evento bitácora → cerrar → lanzar pipeline
- Comandos exactos con placeholders HH:MM e <ID>
- Tabla de frecuencias (FULL semanal, diferencial diario)
- Nodo/ámbito correctos: dtic-DIIAA / dtic-BKPs
- Agrega run 2026-04-21 a Resultados Históricos (10m 50s)
- Agrega 4 lecciones aprendidas de bugs corregidos hoy
This commit is contained in:
Ricardo Monla
2026-04-21 08:37:29 -03:00
parent d4ea8c0bcd
commit 17b69d080a
@@ -3,10 +3,10 @@
> **Ámbito:** A04 — dtic-DASUTEN
**Código:** A04.P006
**Fecha:** 15 de abril de 2026
**Fecha:** 21 de abril de 2026
**Autor:** Sistema ADN
**Versión:** 1.3
**Estado:**COMPLETADO Y VALIDADO (Pipeline completo + migración + validación usuario)
**Versión:** 1.4
**Estado:**OPERATIVO Y AUTOMATIZADO (Pipeline completo validado + fixes de bitácora aplicados)
**Dependencia:** A04.P005 (DASUTEN sin DC), A03.P002 (Automatización Backups)
## 📊 Progreso
@@ -35,6 +35,68 @@
**Conclusión:** El pipeline de backups funcionaba correctamente desde el inicio. La causa raíz de la "desactualización" percibida era la zona horaria incorrecta en dasu-sql4, que desplazaba las fechas ~5 horas adelante (UTC+2 en lugar de UTC-3).
---
## 🚀 Procedimiento de Ejecución
> **Leer esta sección primero.** Contiene los comandos exactos para ejecutar el backup la próxima vez.
### Flujo completo de una sesión de backup
#### 1️⃣ Registrar evento de preparación en bitácora
```bash
# Reemplazar HH:MM con la hora actual
./adn/tools/run db evento:crear \
--inicio "HH:MM" \
--ambito "dtic-DIIAA" \
--modo "R" \
--estado "⏳" \
--nodo "dtic-BKPs" \
--ia \
--doc "ambito/dtic-DASUTEN/A04.P006_Backups-DASUTEN.md" \
--descripcion "[A04.P006] Preparación para ejecución pipeline backup FULL DASUTEN. Revisión del plan y confirmación de nodos previo al lanzamiento."
```
> Anotar el **ID** del evento creado (aparece en la salida).
#### 2️⃣ Cerrar el evento de preparación
```bash
# Reemplazar <ID> con el ID del evento y HH:MM con la hora actual
./adn/tools/run db evento:actualizar <ID> --fin "HH:MM" --estado "✅"
```
#### 3️⃣ Lanzar el pipeline
```bash
# Pipeline FULL (semanal — ~10-15 min)
./adn/tools/run bkps run dasuten_full --batch
# Pipeline DIFERENCIAL (diario lun-vie — ~5-10 min)
./adn/tools/run bkps run dasuten_diferencial --batch
```
### Registro en bitácora
Los drones registran sus eventos automáticamente bajo:
- **Ámbito:** `dtic-DIIAA`
- **Nodo:** `dtic-BKPs` (nodo lógico de servicio, ID: 49)
Para consultar los eventos del día:
```bash
./adn/tools/run db evento:listar --ambito dtic-DIIAA --nodo dtic-BKPs
```
### Frecuencias recomendadas
| Pipeline | Comando | Frecuencia | Horario | Duración |
|----------|---------|------------|---------|----------|
| **FULL** | `dasuten_full --batch` | Semanal (lunes) | 08:00 | ~10-15 min |
| **Diferencial** | `dasuten_diferencial --batch` | Diario (lun-vie) | 08:00 | ~5-10 min |
---
## 🎯 Objetivo
Establecer un sistema de backups y refrescos de la base de datos DASUTEN que permita:
@@ -200,6 +262,7 @@ El procesador `Dasuten` fue integrado en `bkps.rb` como un nuevo tipo de tarea:
| **2026-04-15 11:01** | **Pipeline FULL** | **13m 15s** | **~1.3 GB** | **✅ COMPLETO** |
| **2026-04-15 16:30** | **Migración + TZ** | **~30 min** | **~1.3 GB** | **✅ COMPLETO** |
| **2026-04-15 17:00** | **Validación Usuario** | **—** | **—** | **✅ VALIDADO (Andrea Almirón)** |
| **2026-04-21 07:21** | **Pipeline FULL** | **10m 50s** | **~1.3 GB** | **✅ COMPLETO + fixes bitácora** |
### Detalle Pipeline 2026-04-15 (Test Completo)
@@ -389,6 +452,10 @@ file_info = DasuExecutor.get_file_info_on_fenix(client, 'X:\backup.bak')
| 2026-04-15 | Heartbeat con output acumulado en Bitácora Web | Visibilidad completa del progreso de drones multi-paso |
| 2026-04-15 | **Zona horaria incorrecta pasa desapercibida** | Datos "actualizados" pero invisibles para el usuario — validar TZ en todo restore |
| 2026-04-15 | **Validación usuario es crítica** | El pipeline técnicamente exitoso necesita confirmación del usuario final |
| 2026-04-21 | **`create_entrada` no aceptaba `ambito_id`** | Eventos de drones no se registraban en bitácora — fix: agregar kwarg a firma y SQL |
| 2026-04-21 | **`detectar_nodo_id` ignoraba el parámetro `nodo`** | Siempre usaba hostname local — fix: lookup por nombre pasado, fallback a hostname |
| 2026-04-21 | **Separar nodo operacional de nodo de bitácora** | El nodo del yml (srvv-fenix, etc.) es interno al dron; bitácora debe usar `dtic-BKPs` |
| 2026-04-21 | **Registrar evento de preparación antes del pipeline** | El procedimiento debe iniciar creando un evento ⏳ en bitácora y cerrarlo antes de lanzar |
## 📈 Mejora de Latidos/Acumulados (2026-04-15)