- name: Test if user phd already exists stat: path: "{{ item }}" register: phd_exists changed_when: not phd_exists.stat.exists loop: ['~/.profile', '~/.shellrc'] - debug: msg: "User phd has already been created" when: phd_exists.results|selectattr('stat.exists')|list|length == 2 - name: Create and setup user phd block: - name: Create system groups become: true group: name: "{{ item }}" system: true loop: "{{ system_groups.split(',') }}" - name: Create group phd become: true group: name: phd - name: Add user phd become: true user: name: phd group: phd groups: "{{ system_groups }}" - name: Upload and extract home archive unarchive: src: ~/archive/STORE/phd/Home/phd.tar.bz2 dest: /home when: phd_exists.results|selectattr('stat.exists')|list|length != 2