# will use linear strategy by default
- hosts: "{{hosts|default('all')}}"
  #gather_facts: false
  strategy: "{{strategy|default('linear')}}"
  vars:
    play_var: foo
    test_dict:
      a: 1
      b: 2
  vars_files:
    - testing/vars.yml
  tasks:
  - block:
    - debug: msg="in block for {{inventory_hostname}} ({{ansible_nodename}}), group_var is {{group_var}}, host var is {{host_var}}"
      notify: foo
    - command: hostname
      register: hostname_result
    - debug: msg="registered result is {{hostname_result.stdout}}"
    - command: whoami
      sudo: true
      sudo_user: testing
    - assemble: src=./testing/ dest=/tmp/output.txt remote_src=no
    - copy: content="hello world\n" dest=/tmp/copy_content.out mode=600
    #- command: /bin/false
    #  retries: "{{num_retries|default(5)}}"
    #  delay: 1
    #- debug: msg="you shouldn't see me"
    rescue:
    - debug: msg="this is the rescue"
    - command: /bin/false
    - debug: msg="you should not see this rescue message"
    always:
    - debug: msg="this is the always block, it should always be seen"
    #- command: /bin/false
    #- debug: msg="you should not see this always message"

  handlers:
  - name: foo
    debug: msg="this is the foo handler"
  - name: bar
    debug: msg="this is the bar handler, you should not see this"