diff --git a/nodos/sql-dasuten.md b/nodos/sql-dasuten.md index 11070e47..1fae94a0 100644 --- a/nodos/sql-dasuten.md +++ b/nodos/sql-dasuten.md @@ -4,7 +4,8 @@ - **Hostname**: `sql-dasuten.dasuten.utnlr` - **Rol Inicial**: Motor de Base de Datos (SQL Server 2019 Core) - **Estado**: ⏳ En configuración (Fase P02) -- **Padre/Host**: `srv-dasu` (VM ID: 101) +- **Padre/Host**: `srv-dasu` +- **VMID**: `101` ## Hardware (Virtual) - **Hypervisor**: Proxmox VE 9.1 diff --git a/tools/adn/comando/backup.rb b/tools/adn/comando/backup.rb index e03edf72..e9209e99 100644 --- a/tools/adn/comando/backup.rb +++ b/tools/adn/comando/backup.rb @@ -142,6 +142,7 @@ module ADN ruta_nodo = File.join(ADN::NODOS_DIR, "#{nombre_nodo}.md") unless File.exist?(ruta_nodo) @logger.error("No existe el archivo de nodo: #{ruta_nodo}") + @logger.sugerencia("./tools/adn/run db nodo:crear --nombre #{nombre_nodo} --tipo servidor --ip 0.0.0.0 --desc \"Servidor a configurar\"") return nil end @@ -151,6 +152,11 @@ module ADN unless vmid && host_name @logger.error("Contexto incompleto en #{nombre_nodo}.md: VMID=#{vmid}, Host=#{host_name}") + @logger.sugerencia([ + "Asegurate de que #{nombre_nodo}.md tenga las siguientes líneas:", + "- **Padre/Host**: `srv-proxmox-ejemplo`", + "- **VMID**: `1xx`" + ]) return nil end @@ -166,6 +172,11 @@ module ADN unless host_ip @logger.error("No se encontró IP para el host #{host_name}") + @logger.sugerencia([ + "Verificá que el archivo #{host_name}.md exista.", + "Si no existe, crealo con: ./tools/adn/run db nodo:crear --nombre #{host_name} --tipo servidor --ip DIRECCION_IP", + "Asegurate de que incluya: **IP**: `DIRECCION_IP`" + ]) return nil end diff --git a/tools/adn/core/logger.rb b/tools/adn/core/logger.rb index 0e10b0e8..5535aba4 100644 --- a/tools/adn/core/logger.rb +++ b/tools/adn/core/logger.rb @@ -116,6 +116,19 @@ module ADN mostrar_terminal('✗', mensaje, Color::RED, opts) end + # Muestra una sugerencia de comandos ADN a utilizar + # + # @param comandos [String, Array] Comando o comandos sugeridos + def sugerencia(comandos) + comandos = [comandos] unless comandos.is_a?(Array) + puts "" + puts " 💡 #{Color::BOLD}Sugerencia:#{Color::RESET} Podés solucionar esto usando las herramientas ADN:" + comandos.each do |cmd| + puts " #{Color::CYAN}#{cmd}#{Color::RESET}" + end + puts "" + end + # Obtiene los logs almacenados en buffer # # @return [Array] Logs en buffer