diff --git a/tasks/main.yml b/tasks/main.yml index 4155ebe..ec427c0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -14,24 +14,25 @@ changed_when: false failed_when: false -- name: Show bridge_links +- name: Show bridge_links.stdout_lines ansible.builtin.debug: - msg: "{{ bridge_links }}" - + msg: "{{ bridge_links.stdout_lines }}" - name: "Detect physical NIC backing {{ wol_bridge }}" ansible.builtin.set_fact: - wol_detected_phy: >- + wol_detected_phy_candidates: >- {{ bridge_links.stdout_lines | select('search', 'master ' ~ wol_bridge) - | select('match', '^\\d+: [a-zA-Z0-9]+:') - | reject('search', ' veth') - | reject('search', ' tap') - | map('regex_replace', '^\\d+: ([^:]+):.*', '\\1') - | first + | map('regex_replace', '^\\d+: ([^:@]+).*', '\\1') + | reject('search', '^(veth|tap|fw)') + | list }} +- name: Select first physical NIC candidate + ansible.builtin.set_fact: + wol_detected_phy: "{{ wol_detected_phy_candidates[0] | default('') }}" + - name: Fail if vmbr0 backing NIC could not be detected ansible.builtin.fail: msg: >