Issue 1:
ansible 2.0.0.2

Run against a set of tasks like so:

- name: Duplicate
debug: msg="hi"

- name: Duplicate
command: sleep 100

You'll notice you only get timing on one. This is flaw in the core architecture of this plugin. It uses a dict to store values by task name it seems.

@aioue

Issue 2:
ISSUE TYPE

ANSIBLE VERSION

config file = /home/douglas/repos/ansible/ansible.cfg
configured module search path = Default w/o overrides

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

STEPS TO REPRODUCE

ansible-playbook accounts.yml --step -e hosts=localhost -e homedir=/boot -vvv -e user=foo
- name: get fs free space
shell: df | grep {{ homedir }} | awk 'FNR == 2 { print $2 } '
register: fsusage
- name: print fsusage in kb
debug: var=fsusage.stdout_lines
- name: check existing homedir quota usage
shell: w
failed_when: "'{{ item | int }}' < '146800640'"
with_items: fsusage.stdout

EXPECTED RESULTS

fsusage.stdout_lines is 523248 so task "check existing homedir quota usage" should fail given that value is less than 146800640

ACTUAL RESULTS

Task " check existing homedir quota usage" does not fail...

PLAYBOOK: accounts.yml *********************************************************
1 plays in accounts.yml

PLAY [localhost] ***************************************************************

TASK [setup] *******************************************************************
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: douglas
<127.0.0.1> EXEC /bin/sh -c 'LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python && sleep 0'
ok: [localhost]

TASK [accounts : include] ******************************************************
task path: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/main.yml:2
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true}

TASK [accounts : include] ******************************************************
task path: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/main.yml:5
[DEPRECATION WARNING]: You should not specify tags in the include parameters. All tags should be specified using the task-level option.
This feature will be removed in a future release. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
included: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/nfs.yml for localhost

TASK [accounts : get fs free space] ********************************************
task path: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/nfs.yml:4
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: douglas
<127.0.0.1> EXEC /bin/sh -c 'LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python && sleep 0'
changed: [localhost] => {"changed": true, "cmd": "df | grep /boot | awk 'FNR == 2 { print $2 } '", "delta": "0:00:00.003666", "end": "2016-06-15 13:55:11.982607", "invocation": {"module_args": {"_raw_params": "df | grep /boot | awk 'FNR == 2 { print $2 } '", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "rc": 0, "start": "2016-06-15 13:55:11.978941", "stderr": "", "stdout": "523248", "stdout_lines": ["523248"], "warnings": []}

TASK [accounts : print fsusage in kb] ******************************************
task path: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/nfs.yml:13
ok: [localhost] => {
"fsusage.stdout_lines": [
"523248"
]
}

TASK [accounts : check existing homedir quota usage] ***************************
task path: /home/douglas/repos/ansible/playbooks/roles/accounts/tasks/nfs.yml:16
[DEPRECATION WARNING]: Using bare variables is deprecated. Update your playbooks so that the environment value uses the full variable syntax ('{{fsusage.stdout}}').
This feature will be removed in a future release. Deprecation warnings
can be disabled by setting deprecation_warnings=False in ansible.cfg.
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: douglas
<127.0.0.1> EXEC /bin/sh -c 'LANG=C LC_ALL=C LC_MESSAGES=C /usr/bin/python && sleep 0'
changed: [localhost] => (item=523248) => {"changed": true, "cmd": "w", "delta": "0:00:00.012080", "end": "2016-06-15 13:55:12.160439", "failed": false, "failed_when_result": false, "invocation": {"module_args": {"_raw_params": "w", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "item": "523248", "rc": 0, "start": "2016-06-15 13:55:12.148359", "stderr": "", "stdout": " 13:55:12 up 2:46, 3 users, load average: 0.35, 0.26, 0.24\nUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT\ndouglas tty8 :0 11:09 2:46m 2:28 0.33s cinnamon-session --session cinnamon\ndouglas pts/1 :0 12:31 16:00 0.06s 0.00s tmux attach -d\ndouglas pts/8 :0 11:25 8.00s 5.40s 0.00s /bin/sh -c w", "stdout_lines": [" 13:55:12 up 2:46, 3 users, load average: 0.35, 0.26, 0.24", "USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT", "douglas tty8 :0 11:09 2:46m 2:28 0.33s cinnamon-session --session cinnamon", "douglas pts/1 :0 12:31 16:00 0.06s 0.00s tmux attach -d", "douglas pts/8 :0 11:25 8.00s 5.40s 0.00s /bin/sh -c w"], "warnings": []}

PLAY RECAP *********************************************************************
localhost : ok=5 changed=2 unreachable=0 failed=0