It looks like again you are not placing quotes around dictionary key. Can 
you please show your code which through this error?

On Tuesday, November 13, 2018 at 12:53:39 PM UTC+5:30, 
[email protected] wrote:
>
> It is unpacking a tar file successfully but at the same time I am getting 
> below error. Could you please help.
>
>
>  {"msg": "The task includes an option with an undefined variable. The 
> error was: 'dict object' has no attribute 'dest_tar'\n\nThe error appears 
> to have been in '/etc/ansible/xxx/xy/tasks/main.yml': line 26, column 5, 
> but may\nbe elsewhere in the file depending on the exact syntax 
> problem.\n\nThe offending line appears to be:\n\n\n  - name: test\n    ^ 
> here\n"}
>
>
> On Tuesday, November 13, 2018 at 12:46:58 PM UTC+5:30, Keshipeddy Anusha 
> wrote:
>>
>> Thank you Mohan that worked for me, but may I know why we need to place 
>> them in double quotes??
>>
>> On Tue, Nov 13, 2018, 11:56 AM Mohan L <[email protected] <javascript:> 
>> wrote:
>>
>>>
>>>
>>> You have to quote the dictionary key as well. 
>>>
>>> FROM
>>>
>>> - { src_tar: '/home/virtual/xx/sample.tar.gz', dest_tar: '/tmp/sss/' } 
>>>
>>> TO
>>>
>>> - { 'src_tar': '/home/virtual/xx/sample.tar.gz', 'dest_tar': '/tmp/sss/' 
>>> }
>>>
>>>
>>> Here is the working example. If you write a role and call that role from 
>>> playbook then you no need to use var_files section. vars/main.yml is one of 
>>> the default ansible search path. 
>>>
>>> See how my tasks/main.yml :
>>>
>>> # cat roles/xyz/tasks/main.yml 
>>>
>>> ---
>>>
>>> # tasks file for xyz
>>>
>>> - name: Extract /tmp/xx/sample.tar.gz into /tmp/sss
>>>
>>>   unarchive:
>>>
>>>     src: "{{ item.src_path }}"
>>>
>>>     dest: "{{ item.dest_path }}"
>>>
>>>   with_items: "{{ TAR }}"
>>>
>>>
>>>
>>> #See the vars/main.yml
>>>
>>> # cat roles/xyz/vars/main.yml 
>>>
>>> ---
>>>
>>> # vars file for xyz
>>>
>>> TAR:
>>>
>>>  - { "src_path": "/tmp/xx/sample.tar.gz", "dest_path": "/tmp/sss/" }
>>>
>>>
>>>
>>> # See the Ansible playbook
>>>
>>> # cat /etc/asnible/site.yml 
>>>
>>> ---
>>>
>>> - hosts: all
>>>
>>>   
>>>
>>>   roles:
>>>
>>>     - xyz 
>>>
>>>
>>> # ansible-playbook site.yml
>>>
>>>
>>> TASK [xyz : Extract /tmp/xx/sample.tar.gz into /tmp/sss] 
>>> *******************************************
>>>
>>> ok: [localhost] => (item={u'src_path': u'/tmp/xx/sample.tar.gz', 
>>> u'dest_path': u'/tmp/sss/'})
>>>
>>>
>>> PLAY RECAP 
>>> *****************************************************************************************
>>>
>>> localhost                  : ok=2    changed=0    unreachable=0    
>>> failed=0   
>>>
>>>
>>> # ls /tmp/xx/sample.tar.gz 
>>>
>>> /tmp/xx/sample.tar.gz
>>>
>>>
>>> # ls /tmp/sss/
>>>
>>> sample
>>>
>>>
>>>
>>>
>>> On Monday, November 12, 2018 at 11:09:08 PM UTC+5:30, 
>>> [email protected] wrote:
>>>>
>>>> Hi Team,
>>>>
>>>> I am trying to unarchive a file is failing with below errors. Could 
>>>> someone please look into it.
>>>>
>>>> *Playbook:*
>>>>
>>>> ---
>>>>
>>>> - hosts: all
>>>>
>>>>   vars_files:
>>>>
>>>>       - /etc/ansible/xx/xyz/vars/main.yml
>>>>
>>>>   tasks:
>>>>
>>>>   - name: test
>>>>
>>>>     unarchive:
>>>>
>>>>       src: "{{ item.src_tar }}"
>>>>
>>>>       dest: “{{ item.dest_tar }}”
>>>>
>>>>     with_items: "{{ TAR }}"
>>>>
>>>>
>>>> *vars_files:*
>>>>
>>>>
>>>> TAR:
>>>>
>>>> - { src_tar: '/home/virtual/xx/sample.tar.gz', dest_tar: '/tmp/sss/' }
>>>>
>>>>
>>>> *Error:*
>>>>
>>>> "msg": "The task includes an option with an undefined variable. The 
>>>> error was: 'dict object' has no attribute 'dest_tar'\n\nThe error appears 
>>>> to have been in '/etc/ansible/xx/xyz/tasks/main.yml': line 23, column 5, 
>>>> but may\nbe elsewhere in the file depending on the exact syntax 
>>>> problem.\n\nThe offending line appears to be:\n\n    with_items: \"{{ TAR 
>>>> }}\"\n  - name: test\n    ^ here\n"}
>>>>
>>> -- 
>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ansible-project/95a45bc1-676f-496b-8e03-709c10a845eb%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/95a45bc1-676f-496b-8e03-709c10a845eb%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> 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/6600544a-1706-4177-9eed-11130ca3e77e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to