Hostvars giving me undefined error

727 views
Skip to first unread message

Rakesh Parida

unread,
Jan 24, 2020, 11:49:04 AM1/24/20
to Ansible Project
Hi 

Iam trying to access the variable from other hosts using hostvars. I am getting the undefined error.
Can anybody help me: stuck at this point



- hosts: yum
  gather_facts: false
  vars:
     file_locn: "/san/repos/{{ version }}/packages"
  tasks:
    - name: Find the Packages that are present in File location
      shell: ls -lrt {{ file_locn }} |awk 'NR>1{print $9}'|grep -i rpm
      register: files_present

    - name: Set Fact
      set_fact:
         some_value: "{{ files_present.stdout_lines }}"

    - debug:
        msg: "{{ some_value }}"

- hosts: localhost
  gather_facts: false
  tasks:
    - name: Show hostvars
      debug:
        msg: "{{ hostvars['yum']['some_value'] }}"

error:
PLAY [yum] ***********************************************************************************************************************************************************

TASK [Find the Packages that are present in File location] ***********************************************************************************************************
changed: [YUM01]

TASK [Set Fact] ******************************************************************************************************************************************************
ok: [YUM01]

TASK [debug] *********************************************************************************************************************************************************
ok: [YUM01] => {
    "msg": [
        "common-3.0.12.rpm", 
        
    ]
}

PLAY [localhost] *****************************************************************************************************************************************************

TASK [Show hostvars] *************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: \"hostvars['yum']\" is undefined\n\nThe error appears to be in '/home/rparida1/raka1111.yml': line 20, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n    - name: Show hostvars\n      ^ here\n"}

PLAY RECAP ***********************************************************************************************************************************************************
YUM01                   : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0  

Dick Visser

unread,
Jan 24, 2020, 1:06:05 PM1/24/20
to ansible...@googlegroups.com
Is 'yum' a group name perhaps?

--
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 ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/f6ce73ce-1ef3-455a-9153-f52380c7b56d%40googlegroups.com.


--
Dick Visser
Trust & Identity Service Operations Manager
GÉANT

Jean-Yves LENHOF

unread,
Jan 24, 2020, 1:55:26 PM1/24/20
to ansible...@googlegroups.com

Hi,

You should better use the find module instead of shell module and ls.

As said, yum seem to be a group... To use hostvars special variable you need to use host and not group...

Something like this will work :

msg: "{{ hostvars['YUM01']['some_value'] }}"


But instead of asking to remove your error, perhaps you could explain what you want to do...

Regards,

JYL

Rakesh Parida

unread,
Jan 24, 2020, 4:39:15 PM1/24/20
to Ansible Project
Yum is a hostname ina group variable
And der are multiple yum server entries 

Rakesh Parida

unread,
Jan 24, 2020, 4:40:00 PM1/24/20
to Ansible Project
I had already tried d same but same error

Rakesh Parida

unread,
Jan 24, 2020, 4:54:21 PM1/24/20
to Ansible Project
To unsubscribe from this group and stop receiving emails from it, send an email to ansible...@googlegroups.com.

Rakesh Parida

unread,
Jan 24, 2020, 5:01:21 PM1/24/20
to Ansible Project
Hi Dick/Jean,

My inventory file has only one  entry of yum..
Now i  have also tried to use :

 - name: Show hostvars
      debug:
        msg: "{{ hostvars[groups['yum']['some_value'] }}"


But still i get same error 
I think iam doing  some error in syntax.......
as i keep getting the undefined error


Pls suggest 

Dick Visser

unread,
Jan 25, 2020, 5:26:10 PM1/25/20
to ansible...@googlegroups.com
On Fri, 24 Jan 2020 at 17:49, Rakesh Parida <rakeshp...@gmail.com> wrote:
>
You playbook only takes into account "localhost", as a result any
other hostvars will be undefined.
Reply all
Reply to author
Forward
0 new messages