From 0e16e350de745e637b1447ac9f9088c276b898b5 Mon Sep 17 00:00:00 2001 From: Jose Date: Fri, 26 Dec 2025 16:28:30 +0100 Subject: [PATCH] =?UTF-8?q?refactor=20=E2=99=BB=EF=B8=8F:=20Refactor=20she?= =?UTF-8?q?ll=20commands=20for=20better=20error=20handling=20and=20consist?= =?UTF-8?q?ency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated shell commands to use `ansible.builtin.shell` with `executable: /bin/bash`, added `set -o pipefail` for improved error propagation, and refactored variable registration for clarity. --- tasks/main.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 48081b6..58f7813 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -41,19 +41,26 @@ {{ en_interfaces }} - name: Check supported Wake-on-LAN modes - ansible.builtin.shell: "ethtool {{ item }} | grep 'Supports Wake-on' | tail -1 | awk '{print $3}'" + ansible.builtin.shell: | + set -o pipefail + ethtool {{ item }} | grep 'Supports Wake-on' | tail -1 | awk '{print $3}' + args: + executable: /bin/bash + changed_when: false loop: "{{ en_interfaces }}" register: wol_supported - changed_when: false when: en_interfaces | length > 0 - name: WOL | Check if enabled - shell: > + ansible.builtin.shell: | + set -o pipefail ethtool {{ item }} | grep 'Wake-on' | tail -1 | awk '{print substr($0,length,1)}' - register: wol_enabled + args: + executable: /bin/bash changed_when: false failed_when: false loop: "{{ en_interfaces }}" + register: wol_enabled when: en_interfaces | length > 0 - name: "Set Wake-on-LAN to {{ wol_mode }}" @@ -90,7 +97,7 @@ loop: "{{ en_interfaces }}" when: en_interfaces | length > 0 -- name: Get MAC addresses +- name: Get MAC addresses ansible.builtin.set_fact: wol_mac_addresses: >- {{ wol_mac_addresses | default([]) + [ hostvars[inventory_hostname]['ansible_' ~ item].macaddress ] }} @@ -105,4 +112,3 @@ Physical Interfaces: {{ en_interfaces | join(', ') }} WOL Mode: {{ wol_mode }} MAC Addresses: {{ wol_mac_addresses | join(', ') }} -