======================================= Script de Orquestación: clone_golden.sh ======================================= :Autor: Raúl Vílchez :Propósito: Clonado eficiente y despliegue de nodos IdM :Versión: 2.0 (Integración OTP) Descripción General ------------------- Este script actúa como el orquestador principal del ciclo de vida de despliegue. Realiza una copia física del disco maestro utilizando tecnología *reflink*, genera una nueva identidad XML para ``libvirt`` y coordina la fase de inyección de credenciales. Dependencias del Sistema ------------------------ * **Almacenamiento**: Partición XFS sobre VDO (para soporte de ``reflink``). * **Binarios**: ``virsh``, ``uuidgen``, ``sed``, ``sudo``. * **Scripts Complementarios**: * ``get_otp.sh``: Captura de credenciales por consola. * ``prepare_clone.sh``: Personalización del sistema de archivos interno. Flujo de Ejecución ------------------ 1. **Validación Previa**: Verifica que la "Golden Image" de origen existe y se encuentra en estado ``shut off``. 2. **Captura de Credenciales**: Invoca al script de captura para obtener el token de enrolamiento de FreeIPA. 3. **Clonado de Bajo Nivel**: Ejecuta una copia de tipo *Copy-on-Write* del volumen de almacenamiento. 4. **Mutación de Identidad**: Genera un nuevo UUID y una dirección MAC aleatoria, inyectándolos en un nuevo fichero XML descriptivo. 5. **Registro en Hypervisor**: Define la nueva máquina virtual en ``libvirt`` y guarda un respaldo del XML en el directorio de metadatos. 6. **Disparador de Preparación**: Llama al script de "cirugía de disco" pasando la ruta del nuevo volumen, el hostname y el token capturado. Uso y Sintaxis -------------- El script requiere dos argumentos posicionales: el nombre de la imagen maestra y el nombre deseado para el nuevo nodo:: ./clone_golden.sh Seguridad --------- * El token de enrolamiento se mantiene exclusivamente en la memoria volátil (RAM) del script durante la ejecución. * Se requiere privilegios de ``sudo`` para la ejecución del paso final de preparación de disco.