I have opened https://github.com/ansible/ansible/issues/6469 for this

On Friday, March 7, 2014 9:47:00 AM UTC+1, Jakub Holy wrote:
>
> The following will fail in Ansible 1.5 but *only *when run with --diff:
>
> ---
> #  broken_template_diff.yml
> - hosts: all
>   gather_facts: False
>   sudo: False
>   tasks:
>   - template: src=mytemplate.txt dest=*/tmp*   # BROKEN
>   #- template: src=mytemplate.txt dest=/tmp/ # WORKING
>
> When run with
>
> ansible-playbook -vi local broken_template_diff.yml --diff # I could also 
> add -C here
>
> this will fail with
>
> fatal: [localhost] => failed to parse: Traceback (most recent call last):
>   File 
> "/home/vagrant/.ansible/tmp/ansible-tmp-1394180980.94-199465317382554/slurp", 
> line 1144, in <module>
>     main()
>   File 
> "/home/vagrant/.ansible/tmp/ansible-tmp-1394180980.94-199465317382554/slurp", 
> line 67, in main
>     data = base64.b64encode(file(source).read())
> IOError: [Errno 21] Is a directory: '/tmp'
>
> When run without --diff or after adding the trailing /, it will work.
>
> In this particular case it actually tells me what is the problem but when 
> I run it with my slightly different production configuration and against 
> CentOS 5.9 (with an older Python) it is even worse because I get
>
> fatal: [10.0.2.2] => failed to parse: 
> SUDO-SUCCESS-advisvcbctshnxbofoyvoppteorclbaf
> Traceback (most recent call last):
>   File "/tmp/ansible-tmp-1394181207.71-130165043237097/slurp", line 1144, 
> in ?
>     main()
>   File "/tmp/ansible-tmp-1394181207.71-130165043237097/slurp", line 67, in 
> main
>     data = base64.b64encode(file(source).read())
> *IOError: [Errno 21] Is a directory*
>
> - notice it does not tell me the name of the path that is directory even 
> though template+diff does not expect that. So it might seems that it is the 
> source that is a directory, which is pretty confusing.
>
> SUMMARY
>
>
>    1. --diff should not fail when there is missing the trailing slash in 
>    dest=/path/to/directory (since non-diff does not fail either) or it should 
>    at least provide much better error message
>    2. Under CentOS 5.9 (<=> Python 2.4) the error message does not 
>    contain the directory's name, which makes it very confusing
>
>
> Should I open an issue for #1?
>
> Thank you!
>

-- 
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/95f6f000-7e87-42ba-b225-a7243734a5d7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to