This doesn’t seem to be a do/until problem, since the command is failing because a binary is not present.
Example:
- hosts: all
tasks:
- shell: /usr/bin/wrong
register: blip
delay: 1
retries: 4
until: blip.stdout.find(“3”)
However, it’s also not apparently true that ignore_errors is used when deciding to retry, so this is a buglet, which I’ll file because we need to deal with it:
- hosts: all
tasks:
- shell: /usr/bin/false
register: blip
delay: 1
ignore_errors: True
retries: 4
until: blip.stdout.find(“3”)
ignore_errors: True