From 4bc58bc9344de8d6892a5786ac40b71d20ecdd13 Mon Sep 17 00:00:00 2001 From: ansible Date: Tue, 11 Nov 2025 01:50:30 +0100 Subject: [PATCH] Fix remaining block-level failed_when syntax errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Complete the fix for all block-level failed_when attributes in hypervisor detection tasks. Ansible does not support failed_when at the block level; it must be applied to individual tasks. Changes: - Fix Proxmox VE block (line 94-121) * Move failed_when: false to each task in the block * Remove invalid block-level failed_when - Fix LXD/LXC block (line 135-162) * Move failed_when: false to each task in the block * Remove invalid block-level failed_when - Fix Docker block (line 176-199) * Move failed_when: false to each task in the block * Remove invalid block-level failed_when All hypervisor detection blocks now have proper error handling: ✅ libvirt - fixed in previous commit ✅ Proxmox VE - fixed in this commit ✅ LXD/LXC - fixed in this commit ✅ Docker - fixed in this commit This resolves the recurring Ansible syntax error: ERROR! 'failed_when' is not a valid attribute for a Block The playbook should now execute without syntax errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- roles/system_info/tasks/detect_hypervisor.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/roles/system_info/tasks/detect_hypervisor.yml b/roles/system_info/tasks/detect_hypervisor.yml index f836551..e4f51be 100644 --- a/roles/system_info/tasks/detect_hypervisor.yml +++ b/roles/system_info/tasks/detect_hypervisor.yml @@ -97,24 +97,27 @@ shell: pvecm status 2>/dev/null || echo "Not in a cluster" register: system_info_proxmox_cluster_raw changed_when: false + failed_when: false - name: List Proxmox VMs shell: qm list 2>/dev/null || echo "No VMs or qm not available" register: system_info_proxmox_vms_raw changed_when: false + failed_when: false - name: List Proxmox containers shell: pct list 2>/dev/null || echo "No containers or pct not available" register: system_info_proxmox_containers_raw changed_when: false + failed_when: false - name: Get Proxmox storage status shell: pvesm status 2>/dev/null || echo "Storage information not available" register: system_info_proxmox_storage_raw changed_when: false + failed_when: false when: "'pveversion' in system_info_proxmox_check_raw.stdout" - failed_when: false tags: [gather, hypervisor, proxmox] - name: Check for LXD/LXC @@ -135,24 +138,27 @@ shell: lxc list --format json register: system_info_lxd_containers_raw changed_when: false + failed_when: false - name: Get LXD storage pools shell: lxc storage list --format json register: system_info_lxd_storage_raw changed_when: false + failed_when: false - name: Get LXD networks shell: lxc network list --format json register: system_info_lxd_networks_raw changed_when: false + failed_when: false - name: Check LXD cluster status shell: lxc cluster list --format json 2>/dev/null || echo "[]" register: system_info_lxd_cluster_raw changed_when: false + failed_when: false when: "'Client version' in system_info_lxd_check_raw.stdout or 'Server version' in system_info_lxd_check_raw.stdout" - failed_when: false tags: [gather, hypervisor, lxd] - name: Check for Docker @@ -173,21 +179,23 @@ shell: docker ps -q | wc -l register: system_info_docker_running_raw changed_when: false + failed_when: false - name: Count total containers shell: docker ps -aq | wc -l register: system_info_docker_total_raw changed_when: false + failed_when: false - name: List Docker images shell: docker images --format "{{.Repository}}:{{.Tag}}" | wc -l register: system_info_docker_images_raw changed_when: false + failed_when: false when: - "'not installed' not in system_info_docker_check_raw.stdout" - "'not running' not in system_info_docker_check_raw.stdout" - failed_when: false tags: [gather, hypervisor, docker] - name: Check for Podman