In the releases after Ansible 2.1, a vast amount of the expressivitiy in Ansible went away or broke.
I was in pain and hurting. I started trying to to upstream things I needed to continue on, but the templating situation post 2.1 was really bad with no signs of recovery to the once pristine state.
I somewhat dramatically opined, about what felt like a world I had built upon shattering,
Damnit Ansible could you have done any more to ruin it all.
Your fall has cast a horrible pall over all good things in this world. The birds no longer chirp. The grass is dead.
https://twitter.com/rektide/status/855560869790568448
Now I'm back on 2.1, and continuing, but I figured I'd collect some of these various issues.
This is a quick collection of those I've found:
- include_vars is broken in 2.3.0 and 2.2.2 ansible/ansible#24172
- Resolving {{ vars[VAR] }} when vars[VAR] contains {{ other_var }} ansible/ansible#20545
- Variable expansion changed from 2.2.0.0 to 2.2.1.0 ansible/ansible#22913
- variables in vars not getting expanded ansible/ansible#22881
- Variable values set on include statements are not correct ansible/ansible#23759
There's also less issues opened, but the fix for CVE-2016-9587 truncated a massive amount of Ansible's general utility. Rather than address some specific specific special variables that had power that a remote system could set to cause damage, Ansible instead stopped allowing external actions any kind of late-bound, interpolation-including result. The CVE to me suggested a more moderate course, and although it seems I am in the minority for having gone into using my own plugin modules, I had plans to go further (largely in order to make my Compfuzor fast enough to be practicable) and many interesting futures seem painfully cut off. Some earlier griping from me on this: https://plus.google.com/113218107235105855584/posts/KixAk5cuQ36