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.
