Sesion 6

Dia: 31/05/25
Hora de inicio: 14:04
Hora de fin: 16:04
Cantidad de horas trabajadas: 2 horas

Problemas encontrados:

  • Al reejecutar el script de inicialización en la base remota (CloudClusters), no se eliminaban algunas tablas porque faltaban sentencias DROP TABLE IF EXISTS previas, lo que provocaba errores de “objeto ya existe”.

  • En el script Python de carga (CargadorCatalogos), la ruta relativa a catalogos.xml era incorrecta cuando se lanzaba desde un directorio distinto, generando FileNotFoundError.

  • El método get_local_ip() devolvía siempre 127.0.0.1, por lo que todos los registros de auditoría tenían la misma IP, dificultando el rastreo real de origen.

Cómo fueron resueltos:

  1. DROP TABLE previos

    • Añadí IF OBJECT_ID(...,'U') IS NOT NULL DROP TABLE ...; justo antes de cada CREATE TABLE en el script DDL, asegurando un arranque limpio en cada ejecución.

  2. Ruta de XML en Python

    • Incorporé al inicio del script:

      python
      import os os.chdir(os.path.dirname(__file__))

      de modo que siempre se cargara catalogos.xml desde la carpeta del script.

  3. IP real en auditoría

    • Mejoré get_local_ip() para forzar la detección mediante un socket UDP a 8.8.8.8, devolviendo la IP real de la interfaz activa en lugar de 127.0.0.1.

Dudas:

  • ¿Es seguro almacenar la IP real del servidor en la columna PostIn, o conviene anonimizarla por privacidad?

Forma que se trabajó:

  • De manera asincrónica: 

Problemas de la instalación del software:

  • NONE

Problemas de aprendizaje del software:

  • Comprender el alcance de os.chdir() y su efecto en rutas relativas en Python.

Investigaciones:

  • StackOverflow: “Python get local IP address reliably”

  • Docs de Microsoft: “IF OBJECT_ID and DROP TABLE patterns”

Prueba de concepto:

  • En un pipeline de CI configurado contra la base de CloudClusters:

    1. Ejecuté el DDL completo sin errores.

    2. Lancé python3 cargador_catalogos.py y confirmé que catalogos.xml se parseaba correctamente.

    3. Verifiqué en la tabla EventLog que PostIn reflejaba la IP real de la máquina de CI.

Comments

Popular posts from this blog

Sesión 12

Seccion 5

Sesión 4