# The list inside a lookup loop are not being interpreted by the file module

**URL:** <https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092>\
**Category:** Ansible Project\
**Created:** [November 17, 2012, 9:56am UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092 "2012-11-17T09:56:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [November 17, 2012, 9:56am UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092/1 "2012-11-17T09:56:31Z")

</div>

Dear list,

I’m trying to copy a few specific files over using this in the host\_var:

> * * *
> 
> hostname: XXXXsnippedXXXXX
> 
> sid: XYZ555
> 
> war:
> 
> - version: Webapp\_XXXXsnippedXXXXX1.war
> 
> linkname: programmaname1.war
> 
> - version: Webapp\_XXXXsnippedXXXXX2.war
> 
> linkname: programmaname2.war

And this task:

> * * *
> 
> - name: Mobbl | Kopieer de War(s) file naar de server
> 
> action: copy src=…/files/“${war.version}” dest=/usr/share/tomcat6/mobbl/“${war.version}” owner=root group=root mode=0644
> 
> with\_items: $war
> 
> register: last\_result
> 
> tags:
> 
> - mobblwar

But when I run this, I get this error:

> mmaas@XXXXsnippedXXXXX:~/playbooks$ ansible-playbook -K --tags “mobblwar” ./XXXXsnippedXXXXX/site.yml
> 
> sudo password:
> 
> PLAY [XXXXsnippedXXXXX] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
> 
> TASK: [Mobbl | Kopieer de War(s) file naar de server] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
> 
> failed: [XXXXsnippedXXXXX] =\> (item={‘linkname’: ‘programmaname1.war’, ‘version’: ‘Webapp\_XXXXsnippedXXXXX1.war’}) =\> {“failed”: true, “item”: {“linkname”: “programmaname1.war”, “version”: “Webapp\_XXXXsnippedXXXXX1.war”}}
> 
> msg: could not find src=./binck/…/files/${war.version}
> 
> failed: [XXXXsnippedXXXXX] =\> (item={‘linkname’: ‘programmaname2.war’, ‘version’: ‘Webapp\_XXXXsnippedXXXXX2.war’}) =\> {“failed”: true, “item”: {“linkname”: “programmaname2.war”, “version”: “Webapp\_XXXXsnippedXXXXX2.war”}}
> 
> msg: could not find src=./XXXXsnippedXXXXX/…/files/${war.version}
> 
> FATAL: all hosts have already failed – aborting
> 
> PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
> 
> t2wwwmitchel : ok=0 changed=0 unreachable=0 failed=1

It seems the file module is not getting the file name, but the variable instead. Which ofcourse does not exist.

Am I not escaping correctly perhaps?

Thanks,  
Mark

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [November 17, 2012, 10:12am UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092/2 "2012-11-17T10:12:35Z")

</div>

Darn, I’m sorry, I meant the copy module ofcourse. (Cannot change the subject anymore?)

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [November 17, 2012, 2:45pm UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092/3 "2012-11-17T14:45:54Z")

</div>

Make sure there is a bug for this…

– Michael

---

<div class="post-metadata">

**Author:** ![Daniel\_Hokka\_Zakriss](https://avatars.discourse-cdn.com/v4/letter/d/f05b48/32.png) [@Daniel\_Hokka\_Zakriss](https://forum.ansible.com/u/Daniel_Hokka_Zakriss)\
**Post date:** [November 17, 2012, 3:06pm UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092/4 "2012-11-17T15:06:43Z")

</div>

Mark Maas wrote:

> Dear list,
> 
> I'm trying to copy a few specific files over using this in the host\_var:
> 
> ---  
> hostname: XXXXsnippedXXXXX  
> sid: XYZ555  
> war:  
> &nbsp;&nbsp;- version: Webapp\_XXXXsnippedXXXXX1.war  
> &nbsp;&nbsp;&nbsp;&nbsp;linkname: programmaname1.war
> 
> &nbsp;&nbsp;- version: Webapp\_XXXXsnippedXXXXX2.war  
> &nbsp;&nbsp;&nbsp;&nbsp;linkname: programmaname2.war
> 
> And this task:
> 
> ---  
> - name: Mobbl | Kopieer de War(s) file naar de server  
> &nbsp;&nbsp;action: copy src=../files/"${war.version}"  
> dest=/usr/share/tomcat6/mobbl/"${war.version}" owner=root group=root  
> mode=0644  
> &nbsp;&nbsp;with\_items: $war  
> &nbsp;&nbsp;register: last\_result  
> &nbsp;&nbsp;tags:  
> &nbsp;&nbsp;&nbsp;&nbsp;- mobblwar

You are using with\_items: $war. That means that each entry in there will be  
available as $item, so you should be referencing ${item.version} in your  
action.

Daniel

---

<div class="post-metadata">

**Author:** ![Mark\_Maas](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@Mark\_Maas](https://forum.ansible.com/u/Mark_Maas)\
**Post date:** [November 18, 2012, 9:14am UTC](https://forum.ansible.com/t/the-list-inside-a-lookup-loop-are-not-being-interpreted-by-the-file-module/12092/5 "2012-11-18T09:14:24Z")

</div>

Aaargh, ofcourse! I’ve been looking at it for hours without seeing that! Thanks!  
Mark
