--- - hosts: guest become: no vars: workspace: "{{ lookup('env', 'WORKSPACE') }}" total_counter: "0" failed_counter: "0" tasks: # current target host's IP address - debug: var=ansible_all_ipv4_addresses # case: check if selected packages installed (vim and tmux) - name: check installed package shell: rpm -qa | sort register: result_packages - name: check vim installed block: - assert: that: - "'vim' in result_packages.stdout" fail_msg: "vim not installed" success_msg: "vim installed" always: - set_fact: total_counter: "{{ total_counter | int + 1 }}" rescue: - name: failed count + 1 set_fact: failed_counter: "{{ failed_counter | int + 1 }}" - name: check tmux installed block: - assert: that: - "'tmux' in result_packages.stdout" fail_msg: "tmux not installed" success_msg: "tmux installed" always: - set_fact: total_counter: "{{ total_counter | int + 1 }}" rescue: - name: failed count + 1 set_fact: failed_counter: "{{ failed_counter | int + 1 }}" - name: save installed package list to log file copy: content: "{{ result_packages.stdout }}" dest: "{{ workspace }}/installed.log" delegate_to: localhost - assert: that: - failed_counter == "0" fail_msg: "Ran {{ total_counter }} tests, but {{ failed_counter }} of them failed" success_msg: "{{ total_counter }} test(s) passed"