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


Le 24/01/2020 à 17:49, Rakesh Parida a écrit :
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
--
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-project+unsubscr...@googlegroups.com <mailto:ansible-project+unsubscr...@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 <https://groups.google.com/d/msgid/ansible-project/f6ce73ce-1ef3-455a-9153-f52380c7b56d%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
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-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/ccda6477-ddea-79ee-60b0-2c5cbac511d4%40lenhof.eu.org.

Reply via email to