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.