This is part of the training module I am currently learning, to try how the magic variables work. the centos is group, with one host, in the inventory file. the output of this playbook is supposed to be a file named "hostname" gets created on target host. And it should have two values: "ansible_hostname", and the "ipv4" address.
On Sunday, 26 April 2020 09:24:08 UTC-7, Dick Visser wrote: > > If you want to create files then I would suggest using the template > module, or even copy. > > You are targeting a group, but are using hostvars- what is your actual > intention? A group, a host, or...? This is necessary to answer your > question. > > BTW attaching screendumps add unnecessary clutter for people and make it > difficult for content to be indexed. So don't use screendumps but just > text. > > > > > On Sun, 26 Apr 2020 at 18:07, Pravin Patil <[email protected] > <javascript:>> wrote: > >> Hello - >> I am trying to create a new file called 'hostname", and within it trying >> to copy the ansible_hostname, and ipv4 address using the hostvars magic >> variable. >> Attaching the screenshots. >> >> >> >> [image: Screen Shot 2020-04-26 at 9.06.21 AM.png] >> >> [image: Screen Shot 2020-04-26 at 9.06.43 AM.png] >> >> >> On Saturday, 25 April 2020 21:54:14 UTC-7, Dick Visser wrote: >>> >>> Hi >>> >>> I don't see attached files (which is good I'd say) but then the >>> indentation of the include yaml files is a bit messed up. >>> >>> Regardless of that, it is not clear what you are trying to do with this >>> playbook? >>> Write the default ipv4 address of all hosts in a group to a file on all >>> those hosts? >>> Please explain what you want to do, and why (as there may be alternative >>> way to achieve what you want). >>> >>> On Sun, 26 Apr 2020 at 04:01, Pravin Patil <[email protected]> wrote: >>> >> Please refer to the attached file for issues I am running into... >>>> >>>> >>>> >>>> *Here is my playbook:* >>>> >>>> --- # Ansible facts example >>>> >>>> - hosts: centos >>>> >>>> tasks: >>>> >>>> - name: create a file to write the fact values >>>> >>>> lineinfile: >>>> >>>> path: /home/ansible/hostname >>>> >>>> create: yes >>>> >>>> line: "{{ ansible_hostname }}" >>>> >>>> - name: access magic variables >>>> >>>> lineinfile: >>>> >>>> path: /home/ansible/hostname >>>> >>>> line: "{{ >>>> hostvars['centos']['ansible_default_ipv4']['address'] }}" >>>> >>>> >>>> >>>> *And here is the command I am using to run it:* >>>> >>>> ansible-playbook -i inv facts.yml >>>> >>>> >>>> >>>> *And here is the inventory (host):* >>>> >>>> [centos] >>>> >>>> cen ansible_host=172.31.4.215 >>>> >>>> >>>> >>>> *I keep running into this error:* >>>> >>>> >>>> >>>> PLAY [centos] >>>> ******************************************************************** >>>> >>>> TASK [Gathering Facts] >>>> *********************************************************** >>>> >>>> ok: [cen] >>>> >>>> TASK [create a file to write the fact values] >>>> ************************************ >>>> >>>> ok: [cen] >>>> >>>> TASK [access magic variables] >>>> **************************************************** >>>> >>>> fatal: [cen]: FAILED! => {"msg": "The task includes an option with an >>>> undefined variable. The error was: \"hostvars['centos']\" is >>>> undefined\n\nThe error appears to have been in '/home/ansible/facts.yml': >>>> line 9, column 13, but may\nbe elsewhere in the file depending on the >>>> exact >>>> syntax problem.\n\nThe offending line appears to be:\n\n line: >>>> \"{{ ansible_hostname }}\"\n - name: access magic variables\n ^ >>>> here\n"} >>>> >>>> to retry, use: --limit @/home/ansible/facts.retry >>>> >>>> PLAY RECAP >>>> >>>> *********************************************************************** >>>> >>>> cen : ok=2 changed=0 unreachable=0 failed=1 >>>> >>>> >>>> >>>> *How to resolve this?* >>>> >>>> >>>> >>>> -- >>>> 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 view this discussion on the web visit >>>> https://groups.google.com/d/msgid/ansible-project/b4e1237d-9f80-4fee-8b84-61116466c7db%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/ansible-project/b4e1237d-9f80-4fee-8b84-61116466c7db%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> Sent from a mobile device - please excuse the brevity, spelling and >>> punctuation. >>> >> -- >> 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 view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/c5fc6658-e6b7-4653-8446-cb50f57bf279%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/c5fc6658-e6b7-4653-8446-cb50f57bf279%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > Sent from a mobile device - please excuse the brevity, spelling and > punctuation. > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/7e2999f7-5ae8-4ce4-8e4c-e14e2b5bf185%40googlegroups.com.
