unable to fit the piece of code in ansible

Hi all,

I am a beginner in ansible. If anyone can help me in finding the answer. It would be great. My problem was finding a phrase in ansible which one of the person have helped me. But unfortunately i am not able to fit the piece of code in my playbook.

hostinfo:
host001’:
ip: 192.168.43.10
hostclass: ‘puppet’
‘host002’:
ip: 192.168.43.11
hostclass: ‘ess’
‘host003’:
ip: 192.168.43.21
hostclass: ‘mdb’

the code was::

  • debug:
    msg: “{{ hostinfo|dictsort|selectattr(‘1.hostclass’, ‘equalto’, ‘ess’)|first|first }}”

Now i am writing the code as given below. I know in this piece of code i am making mistakes. But since i am a beginner i am not able to understand it. Can anyone help me?

Any one can suggest any idea please…

Can I suggest that you describe what you want to achieve. That is, describe the end result that you are seeking.

That is more likely to get a useful response.

Regards, K.

Thanks Karl, for your reply. Problem statement ::-

My job is to find out the hostname which belongs to hostclass ess, which in this case the answer is host002.

hostinfo:
  'host001':
    ip: 192.168.43.10
    hostclass: 'puppet'
  'host002':
    ip: 192.168.43.11
    hostclass: 'ess'
  'host003':
    ip: 192.168.43.21
    hostclass: 'mdb'

i got one solution from some friend in google ansible groups only, but i am unable to fit it my ansible playbook.

- debug:
    msg: "{{ hostinfo|dictsort|selectattr('1.hostclass', 'equalto', 'ess')|first|first }}"

The playbook i am writing, which is wrong but i am not able to figure out how to fit the code in my playbook. Can anyone help me in modifying the code of mine.

---

- hosts: somehost
  gather_facts: no
  vars_files:
    file: sometext.yaml
    name: sometext

  - debug:
        msg: "{{ hostinfo|dictsort|selectattr('1.hostclass', 'equalto', 'ess')|first|first }}

Can you please let me know which Ansible version you are using and what error you are getting?

Ansible:: 2.4 is the version i am using.