Ansible and `changed_when` based on `stdout` value
I think you may have misinterpreted what changed_when does. changed_when marks the task as changed based on the evaluation of the conditional statement which in your case is: “command_result.stdout == ‘Ignoring failure…’” So whenever this condition is true, the task will be marked as changed.