fix(dron): corregir ámbito/nodo de registro en bitácora para pipeline DASUTEN
Bug 2 — proc_dasuten.rb: - Separa nodo operacional (srvv-fenix, srv-ns8, etc.) del nodo de bitácora - Registro siempre bajo nodo=dtic-BKPs / ámbito=dtic-DIIAA - Agrega constantes NODO_BITACORA y AMBITO_BITACORA Bug 3 — ejecutor.rb (detectar_nodo_id): - Ignoraba el parámetro 'nodo' y siempre usaba Socket.gethostname - Fix: usa el nombre pasado para lookup en DB - Fallback a hostname local solo si nodo es nil/empty o no existe en DB - Segundo fallback a hostname si el nodo pasado tampoco existe en DB DB: creado nodo 'dtic-BKPs' (ID:49, tipo:servicio, ámbito:dtic-DIIAA) Refs: A04.P006 — Pipeline DASUTEN / A03 BKPs
This commit is contained in:
@@ -295,13 +295,23 @@ module Dron
|
||||
return nodo if nodo.is_a?(Integer)
|
||||
|
||||
require 'socket'
|
||||
hostname = Socket.gethostname.downcase
|
||||
|
||||
# Usar el nodo pasado como parámetro; fallback al hostname local si es nil/empty
|
||||
nombre_buscar = nodo.to_s.strip.downcase
|
||||
if nombre_buscar.empty?
|
||||
nombre_buscar = Socket.gethostname.downcase
|
||||
end
|
||||
|
||||
resultado = nil
|
||||
BitacorasDB::BitacoraDB.with_connection do |db|
|
||||
resultado = db.execute('SELECT id FROM nodos WHERE LOWER(nombre) = $1 LIMIT 1', [hostname])
|
||||
resultado = db.execute('SELECT id FROM nodos WHERE LOWER(nombre) = $1 LIMIT 1', [nombre_buscar])
|
||||
if resultado.nil? || resultado.ntuples == 0
|
||||
resultado = db.execute('SELECT id FROM nodos WHERE LOWER(nombre) LIKE $1 LIMIT 1', ["#{hostname}%"])
|
||||
resultado = db.execute('SELECT id FROM nodos WHERE LOWER(nombre) LIKE $1 LIMIT 1', ["#{nombre_buscar}%"])
|
||||
end
|
||||
# Último fallback: hostname local si el nodo pasado no existe en DB
|
||||
if (resultado.nil? || resultado.ntuples == 0) && nombre_buscar != Socket.gethostname.downcase
|
||||
hostname = Socket.gethostname.downcase
|
||||
resultado = db.execute('SELECT id FROM nodos WHERE LOWER(nombre) = $1 LIMIT 1', [hostname])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user