- name: gather distribution facts gather_facts: gather_subset: distribution when: ansible_distribution is not defined - name: include distribution specific tasks include_tasks: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_distribution | lower }}.yml" - default.yml paths: - tasks - name: create test user user: name: "{{ test_user_name }}" group: "{{ test_user_group or omit }}" password: "{{ test_user_hashed_password or omit }}" register: test_user notify: - delete test user - name: run whoami as the test user shell: whoami vars: # ansible_become_method and ansible_become_flags are not set, allowing them to be provided by inventory ansible_become: yes ansible_become_user: "{{ test_user_name }}" ansible_become_password: "{{ test_user_plaintext_password }}" register: whoami - name: verify becoming the test user worked assert: that: - whoami.stdout == test_user_name