--- # ============================================================================= # Post-Validation Tasks - Validate Deployed VM # ============================================================================= - name: Get VM details command: virsh dominfo {{ deploy_linux_vm_name }} register: deploy_linux_vm_details changed_when: false tags: [validate, post-deploy] - name: Display VM details debug: var: deploy_linux_vm_details.stdout_lines tags: [validate, post-deploy] - name: Check VM is running command: virsh list --name register: deploy_linux_vm_running_vms changed_when: false failed_when: deploy_linux_vm_name not in deploy_linux_vm_running_vms.stdout_lines tags: [validate, post-deploy] - name: Validate SSH connectivity wait_for: host: "{{ deploy_linux_vm_ip }}" port: 22 timeout: 60 state: started when: not deploy_linux_vm_skip_validation tags: [validate, post-deploy] - name: Gather system information from VM delegate_to: "{{ deploy_linux_vm_ip }}" setup: register: deploy_linux_vm_facts vars: ansible_user: "{{ deploy_linux_vm_ansible_user }}" ansible_ssh_common_args: '-o ProxyJump={{ inventory_hostname }} -o StrictHostKeyChecking=accept-new' when: not deploy_linux_vm_skip_validation tags: [validate, post-deploy] - name: Display VM system information debug: msg: - "=== System Information ===" - "OS: {{ deploy_linux_vm_facts.ansible_facts.ansible_distribution }} {{ deploy_linux_vm_facts.ansible_facts.ansible_distribution_version }}" - "Kernel: {{ deploy_linux_vm_facts.ansible_facts.ansible_kernel }}" - "Architecture: {{ deploy_linux_vm_facts.ansible_facts.ansible_architecture }}" - "Hostname: {{ deploy_linux_vm_facts.ansible_facts.ansible_hostname }}" - "FQDN: {{ deploy_linux_vm_facts.ansible_facts.ansible_fqdn }}" - "Python: {{ deploy_linux_vm_facts.ansible_facts.ansible_python_version }}" when: not deploy_linux_vm_skip_validation tags: [validate, post-deploy] - name: Display deployment summary debug: msg: - "╔════════════════════════════════════════════════════════════════╗" - "║ VM Deployment Successfully Completed ║" - "╚════════════════════════════════════════════════════════════════╝" - "" - "VM Details:" - " Name: {{ deploy_linux_vm_name }}" - " Distribution: {{ deploy_linux_vm_os_distribution }}" - " IP Address: {{ deploy_linux_vm_ip }}" - " Resources: {{ deploy_linux_vm_vcpus }} vCPUs, {{ deploy_linux_vm_memory_mb }}MB RAM, {{ deploy_linux_vm_disk_size_gb }}GB Disk" - " LVM: {{ 'Enabled' if deploy_linux_vm_use_lvm else 'Disabled' }}" - "" - "Access:" - " ssh {{ deploy_linux_vm_ansible_user }}@{{ deploy_linux_vm_ip }}" - " ssh -J {{ inventory_hostname }} {{ deploy_linux_vm_ansible_user }}@{{ deploy_linux_vm_ip }}" - "" - "Add to Ansible inventory:" - " {{ deploy_linux_vm_name }}:" - " ansible_host: {{ deploy_linux_vm_ip }}" - " ansible_user: {{ deploy_linux_vm_ansible_user }}" - " ansible_ssh_common_args: '-o ProxyJump={{ inventory_hostname }} -o StrictHostKeyChecking=accept-new'" - " os_distribution: {{ deploy_linux_vm_os_distribution }}" - " os_family: {{ deploy_linux_vm_distro_config.family }}" - "" tags: [validate, post-deploy]