It is in Ansible 1.4.4 actually, I created a repo for this that you can clone 
and 'make' on OSX with XCode, Vagrant and Virtualbox.
The repo is 100 lines of code to provision a VM with Ansible demonstrating the 
issue in two commands:

git clone [email protected]:datasmid/first_available_file.git
make

More on https://github.com/datasmid/first_available_file



On May 14, 2014, at 16:11, Michael DeHaan <[email protected]> wrote:

> "Since which version has that been deprecated and when did the behaviour 
> change? I'm running 1.4.5 and cannot get rid of the deprecation warnings 
> because "with_first_found", in 1.4.5, cannot iterate over a file not found. "
> 
> I'm not sure what you mean about a behavior change, but first_available_file 
> is still part of the software.
> 
> ""with_first_found", in 1.4.5, cannot iterate over a file not found."
> 
> Not sure what this means, because it finds the first file it can find, and 
> will use that one, just like the other.  Can you explain more?
> 
> 
> On Wed, May 14, 2014 at 9:43 AM, Bas Meijer <[email protected]> wrote:
> Since which version has that been deprecated and when did the behaviour 
> change? I'm running 1.4.5 and cannot get rid of the deprecation warnings 
> because "with_first_found", in 1.4.5, cannot iterate over a file not found. 
> 
> 
> Expected behaviour mentioned by Serge "then if no match, the task would get 
> skipped."
> Observed behaviour when there is no template named etc-hosts.backend.j2, then 
> it crashes with:
> 
>       fatal: [backend] => One or more undefined variables: 'item' is undefined
> 
> 
> If there is no alternative construct that works in 1.4.5, then there is a 
> problem in the backward-compatibility period because the deprecation cannot 
> be fixed before upgrade.
> 
> 
> 
> 
> On May 14, 2014, at 14:26, Michael DeHaan <[email protected]> wrote:
> 
>> Yep, first_available_file is quite deprecated, use "with_first_found" 
>> instead, which is the replacement in all recent versions of Ansible.
>> 
>> That's probably why you aren't seeing any references to it.   I'm not sure 
>> what was going on with search.
>> 
>> 
>> 
>> 
>> 
>> On Wed, May 14, 2014 at 8:15 AM, Bas Meijer <[email protected]> wrote:
>> Sililar to the example on http://docs.ansible.com/playbooks_loops.html
>> 
>> 
>>   - name: build and write /etc/hosts file
>>     action: template src=templates/{{ item }} dest=/etc/hosts owner=root 
>> group=root mode=0644
>>     with_first_found:
>>       - "etc-hosts.{{ansible_hostname}}.j2"
>>       - "etc-hosts.j2"
>> 
>> Ansible 1.4.5 fails with the newer 'with_first_found' 
>> fatal: [backend] => {'msg': 'One or more items failed.', 'failed': True, 
>> 'changed': False, 'results': [{'msg': 'unable to read 
>> /home/bas/code/iwelcome-ansible/playbooks/hosts/templates/None', 'failed': 
>> True}]}
>> 
>> When I replace 'with_first_found' with 'first_available_file' it fails in a 
>> different way:
>> fatal: [backend] => One or more undefined variables: 'item' is undefined
>> 
>> 
>> On May 14, 2014, at 14:01, Serge van Ginderachter <[email protected]> 
>> wrote:
>> 
>>> 
>>> On 14 May 2014 13:42, Bas Meijer <[email protected]> wrote:
>>> PROBLEM: In the playbook below, Ansible 1.4.5 shows 'DEPRECATION WARNING' 
>>> when I use $item, and 'undefined variables' when in use     ​​{{item}}.
>>> 
>>> ​​{{item}} is the right syntax
>>> 
>>> undefined variables is another problem, is it possible you get no match for 
>>> first_available_file?
>>> 
>>> You might want to use with_first_found instead of the older 
>>> first_available_file though, then if no match, the task would get skipped.
>>> 
>>> 
>>> 
>>>   Serge
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ansible-project/CAEhzMJD8iiwTqUJhC%3DX5QNB1zQoz6p8DOodVFvZau-X71yMy4Q%40mail.gmail.com.
>>> For more options, visit https://groups.google.com/d/optout.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/C3D37BEF-503D-41D4-ACE4-20B3D0A177DD%40iwelcome.com.
>> 
>> For more options, visit https://groups.google.com/d/optout.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgzB2%2Bk0h%3Df3%2BW%2BcBzWiKdpaSrm6%3D-77OKZaxKLRzfbiuw%40mail.gmail.com.
>> 
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/BFEA75AB-7CBB-4698-BCD1-F360D94C83CE%40iwelcome.com.
> 
> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgwGahmpNh%3DPi6WgWVr_ywNw0w0cGYNmWf--wCdFXOAVgQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/B299BAB2-8BE1-4D6C-984D-25D7657C58B4%40iwelcome.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to