Pardon the reply to myself but I've stumbled upon a lead. If I use YAML 
module parameters, like

- unarchive:
    src: 'file.zip'
    dest: '/foo'
    creates: '/foo/bar'

then the creates check never works, as described previously (the unarchive 
itself still works but it doesn't check for file existence so it always 
unarchives). But if instead I use key=value module parameters, like

- unarchive: src='file.zip' dest='/foo' creates='/foo/bar'

then it works fine. Bug?

On Wednesday, December 10, 2014 10:38:47 AM UTC-6, [email protected] wrote:
>
> Thanks for the suggestion. But to my knowledge I don't have any other 
> checkouts or packages installed. I even ran `sudo apt-get purge ansible`, 
> and before I reinstalled I
>
>    - verified that `find /usr/ -name '*ansible*'` output nothing
>    - deleted /etc/ansible on the control machine
>    - deleted ~/.ansible on both the control machine and the remote host
>
> However I have the same result; when unarchive.py tries to stat the file 
> I've passed as the creates parameter to unarchive, the stat fails as in my 
> previous message.
> On Tuesday, December 9, 2014 7:10:30 PM UTC-6, tkuratomi wrote:
>>
>> The code seems to have gone in quite a while ago.  It seems to work 
>> for me and I'm not getting the same debugging output with 1.8.1 and 
>> current devel. 
>>
>> I  don't believe that there was anything in 1.8.2 that would be 
>> different from both of those. 
>>
>> The fact that it's saying that creates unsupported when it's calling 
>> the piece of hte module that run remotely implies to me that ansible 
>> is finding an older module library on your system.  Do you by chance 
>> have an older checkout somewhere or an older distro package? 
>>
>> -Toshio 
>>
>>
>> On Tue, Dec 9, 2014 at 1:52 PM,  <[email protected]> wrote: 
>> > Has this been addressed in 1.8.2? I am unable to get the creates 
>> parameter 
>> > to work, and am wondering if I'm doing something wrong. 
>> > 
>> > If I edit 
>> /usr/share/pyshared/ansible/runner/action_plugins/unarchive.py 
>> > (ansible installed via PPA) and add 
>> > 
>> >             print module_return.result 
>> > 
>> > after lines 
>> > 
>> >             module_return = self.runner._execute_module(conn, tmp, 
>> 'stat', 
>> > module_args_tmp, inject=inject, 
>> > 
>> > complex_args=complex_args, persist_files=True) 
>> > 
>> > it outputs 
>> > 
>> > {u'msg': u'unsupported parameter for module: creates', u'failed': True} 
>> > 
>> > which makes me think something is rather wrong. 
>> > 
>> > On Sunday, September 14, 2014 1:23:16 PM UTC-5, Jon Hadfield wrote: 
>> >> 
>> >> I submitted a pull request to fix this issue: 
>> >> https://github.com/ansible/ansible/pull/8116 
>> >> The reason is that the creates option is checked in 
>> >> /library/files/unarchive after it's already been copied in 
>> >> /lib/ansible/runner/action_plugins/unarchive.py. 
>> >> Simply shifting the check to the action_plugin prevents an unnecessary 
>> >> file transfer. 
>> >> 
>> >> On Sunday, 14 September 2014 13:18:32 UTC+1, Olivier Javaux wrote: 
>> >>> 
>> >>> I am using ansible 1.8 devel 
>> >>> 
>> >>> I have a task like this one: 
>> >>> 
>> >>> - name: something 
>> >>>   unarchive: creates=some_file src=src_file.tar.gz dest=dest_dir 
>> >>> 
>> >>> Archive is always copied, even if some_file exists 
>> >>> Browsing through source code, I saw that there is a 
>> >>> runner/action_plugins/unarchive.py 
>> >>> file, which makes me think that there is an action named "unarchive". 
>> >>> In this file, there is no creates option. 
>> >>> Maybe some collision between action and module? 
>> >>> 
>> >>> Please, could you explain me what is wrong? 
>> >>> 
>> >>> 
>> >> 
>> >> On Sunday, 14 September 2014 13:18:32 UTC+1, Olivier Javaux wrote: 
>> >>> 
>> >>> I am using ansible 1.8 devel 
>> >>> 
>> >>> I have a task like this one: 
>> >>> 
>> >>> - name: something 
>> >>>   unarchive: creates=some_file src=src_file.tar.gz dest=dest_dir 
>> >>> 
>> >>> Archive is always copied, even if some_file exists 
>> >>> Browsing through source code, I saw that there is a 
>> >>> runner/action_plugins/unarchive.py 
>> >>> file, which makes me think that there is an action named "unarchive". 
>> >>> In this file, there is no creates option. 
>> >>> Maybe some collision between action and module? 
>> >>> 
>> >>> Please, could you explain me what is wrong? 
>> >>> 
>> >>> 
>> > -- 
>> > 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/0bd2e93f-0f3e-4c9a-9d62-9148ab819351%40googlegroups.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/49952083-d30d-4f37-8fe6-c16bf5028bb0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to