Works a treat with 1.9, it would be really easy to add service checks for special server cases.
With Ansible 2.0.0.2 this breaks, because 2.0 tries to fill the fileglob before looking at the when: conditional. And since the nrpe_scripts is not defined for most servers, it breaks!
An ugly hack would be to put a general variable in group_vars/all that just makes it look into an empty directory or something.
This is expected. when statements work on each iteration of the with_ loop, and as such the when statements are effectively inspected afterwith_ loops.
Ansible 1.9 may have allowed this to pass due to a bug in logic, however 2.0 is more strict, and is properly failing.
But people would expect a time of “deprecated but works” at the least.
And besides, I find the original way more logical. (Which will be so for more people, necessitating a deprecation warning, not a complete failure)
I’m noticing a lot of stuff gone, sort of broken, changed behavior, between these two ansible versions. Not good for the mindset of people who I just managed to get onboard with Ansible.
Understood, we can call it all kinds of things, but companies and/or teams have been building playbooks with these things. They are now breaking.
One team I know is now using it as an excuse to start using puppet again as “Ansible is still a moving target”.
This isn’t a rant. … …well maybe a litte But it’s also an observation. Ansible really needs to be carefull with these sort of changes. I don’t want people to turn to other things because of things like this.
I’m not saying that it is not a problem, just that it is not as easy to mark as ‘deprecated’ when there was no knob to ‘turn off this feature’ but a general tightening on propagating and capturing errors.