--- - name: Get list of existing gluster volumes shell: "gluster volume info" changed_when: false register: gv_results - name: Configure volumes include_tasks: create_volume.yml with_dict: "{{ domain.volumes }}" when: volume_string not in gv_results.stdout_lines vars: volume_string: "Volume Name: {{ volume.key }}" domain_servers: "{{ groups[domain.servers] | map('extract', hostvars, 'ands_storage_hostname') | list }}" loop_control: loop_var: volume - name: Create block volumes include_tasks: create_block.yml when: block.value.volume in domain.volumes.keys() with_dict: "{{ glusterfs_block_volumes }}" vars: domain_servers: "{{ groups[domain.servers] | map('extract', hostvars, 'ands_storage_hostname') | list }}" loop_control: loop_var: block