On Thursday, December 18, 2014 3:57:15 PM UTC-6, Capi Etheriel wrote: > > are you using variables in both complex syntax and inline syntax? >
Not sure I'm well enough versed in Ansible terminology to understand the question. If by variables in complex syntax you mean accessing nested data structures as in http://docs.ansible.com/playbooks_variables.html#accessing-complex-variable-data then no. But if that's not what you mean then hopefully the following answers your question anyway. > can you post the actual task where you use that module? > Sure, with some file names changed to protect the innocent. The following task (inside a custom role) works for me, respecting the creates parameter: - name: extract project unarchive: src='project-{{ project_version }}.zip' dest='/opt' creates='{{ project_dest }}/README.txt' sudo: true I also have a defaults/main.yml inside the role containing among other things the following: --- project_version: 1.2.3.v20141123 project_dest: /opt/project-{{ project_version }} Also files/project-1.2.3.v20141123.zip contains file project-1.2.3.v20141123/README.txt so if it gets unarchived to /opt as expected, the path given to the creates parameter should exist. The following task unarchives but does not respect the creates parameter (so it always unarchives): - name: extract project unarchive: src: 'project-{{ project_version }}.zip' dest: '/opt' creates: '{{ project_dest }}/README.txt' sudo: true also, are you using copy=false? > No. Sorry I haven't yet opened a bug report on github. I can't upload my whole role and haven't gotten around to creating and verifying a minimal test case. > > Em quarta-feira, 10 de dezembro de 2014 14h49min45s UTC-2, > [email protected] escreveu: >> >> 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/772ef299-85a3-41e8-9734-dbee5ef59e18%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
