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.

Reply via email to