Fileglob always runs locally, this is true. You should probably run a command like "ls" remotely and register the result, and then iterate over the result.stdout_lines variable.
On Fri, Nov 22, 2013 at 4:05 PM, Walid <[email protected]> wrote: > Hi Michael, > > i tried with_fileglob first, however it references or resolves files from > the local machine running ansible-playbook, not the remote managed machine. > what i am trying to do is to change remote configuration files using > lineinfile module. > > kind regards > > Walid > > > > > On 22 November 2013 23:56, Michael DeHaan <[email protected]>wrote: > >> http://ansibleworks.com/docs/playbooks_loops.html#looping-over-fileglobs >> >> >> On Fri, Nov 22, 2013 at 3:47 PM, Walid <[email protected]> wrote: >> >>> Hi, >>> I would like to run the module lineinfile against several files that >>> exist on the remote managed host. I saw in the changelog for 1.4 that >>> i can use the following lookup plugin feature: >>> " added a fileglob filter that will return files matching a glob >>> pattern. with_items: "/foo/pattern/*.txt | fileglob" >>> however i did not seem to get it right, see below, could you please let >>> me know what other possible ways to do this, or what i might be doing wrong >>> below >>> I tried it with a simple debug task as follows: >>> >>> - action: shell echo "{{ item }}" >>> with_items: >>> - " /etc/* | fileglob" >>> register: task >>> tags: >>> - globtest >>> - debug: msg="{{item.item}}" >>> with_items: task.results >>> when: item.changed == True >>> tags: >>> - globtest >>> >>> >>> however it did not work for me as i expected it, it returned the >>> following : >>> TASK: [common | shell echo ""] >>> ************************************************ >>> changed: [tlcav117] => (item= /etc/* | fileglob) >>> >>> TASK: [common | debug msg="{{item.item}}"] >>> ************************************ >>> ok: [tlcav117] => (item={'item': ' /etc/* | fileglob', u'delta': >>> u'0:00:00.002148', u'cmd': u'echo " /etc/* | fileglob" ', u'end': >>> u'2013-11-22 23:44:54.216654', u'stderr': u'', u'stdout': u' /etc/* | >>> fileglob', 'invocation': {'module_name': 'shell', 'module_args': u'echo " >>> /etc/* | fileglob"'}, u'changed': True, u'rc': 0, u'start': u'2013-11-22 >>> 23:44:54.214506'}) => { >>> "item": { >>> "changed": true, >>> "cmd": "echo \" /etc/* | fileglob\" ", >>> "delta": "0:00:00.002148", >>> "end": "2013-11-22 23:44:54.216654", >>> "invocation": { >>> "module_args": "echo \" /etc/* | fileglob\"", >>> "module_name": "shell" >>> }, >>> "item": " /etc/* | fileglob", >>> "rc": 0, >>> "start": "2013-11-22 23:44:54.214506", >>> "stderr": "", >>> "stdout": " /etc/* | fileglob" >>> }, >>> "msg": " /etc/* | fileglob" >>> } >>> >>> regards >>> >>> Walid >>> >>> -- >>> 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]. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Michael DeHaan <[email protected]> >> CTO, AnsibleWorks, Inc. >> http://www.ansibleworks.com/ >> >> -- >> 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]. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > 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]. > For more options, visit https://groups.google.com/groups/opt_out. > -- Michael DeHaan <[email protected]> CTO, AnsibleWorks, Inc. http://www.ansibleworks.com/ -- 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]. For more options, visit https://groups.google.com/groups/opt_out.
