The fact that Ansible doesn't allow feedback when a task is running, or give you access to the output of the task [it does give the response, but in a urlencoded json field that is useful but not friendly), makes it incredibly difficult for me to write tasks for, and uncomfortable to use.<p>The fact that it makes a new connection for every command, even when just doing a loop, makes it slow as mollasses. To add insult to injury, the name Ansible means "a tool faster than light"!<p>The fact that there is no way to return in the middle of a task, means that I cannot use task files as functions - that is, I cannot just tell Ansible that a given file exists it should stop running this taskfile, it will stop the whole playbook or nothing.<p>And because I cannot add conditions to a block, that means that the best I can do is make deeply nested layers of playbooks - ie. not the Ansible way.<p>These are just off the top of my head - I use Ansible heavily, and curse it all the time!