I got error 'dict object' has no attribute 'state' when use state in when

635 views
Skip to first unread message

Andrey Rogovsky

unread,
Sep 15, 2016, 11:10:11 AM9/15/16
to Ansible Project
Hi, all!

There is result of execute my playbook:
# ansible-playbook  test.yml 

PLAY [ldap] ********************************************************************

...

TASK [freeipa-ds389d : Check if FreeIPA is configured] *************************
skipping: [ds389.example.com]

TASK [freeipa-ds389d : Setup FreeIPA Server] ***********************************
fatal: [freeipa.example.com]: FAILED! => {"failed": true, "msg": "The conditional check 'freeipa_ipaconf.state.exist == False and inventory_hostname == freeipa' failed. The error was: error while evaluating conditional (freeipa_ipaconf.state.exist == False and inventory_hostname == freeipa): 'dict object' has no attribute 'state'\n\nThe error appears to have been in '/root/new/freeipa-ds389d/tasks/main.yml': line 41, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Setup FreeIPA Server\n  ^ here\n"}
fatal: [ds389.example.com]: FAILED! => {"failed": true, "msg": "The conditional check 'freeipa_ipaconf.state.exist == False and inventory_hostname == freeipa' failed. The error was: error while evaluating conditional (freeipa_ipaconf.state.exist == False and inventory_hostname == freeipa): 'dict object' has no attribute 'state'\n\nThe error appears to have been in '/root/new/freeipa-ds389d/tasks/main.yml': line 41, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Setup FreeIPA Server\n  ^ here\n"}

NO MORE HOSTS LEFT *************************************************************
 [WARNING]: Could not create retry file 'test.retry'.         [Errno 2] No such file or directory: ''


PLAY RECAP *********************************************************************
ds389.example.com          : ok=3    changed=0    unreachable=0    failed=1   
freeipa.example.com        : ok=5    changed=0    unreachable=0    failed=1


And there is a ansible script:
- name: Check if FreeIPA is configured
  tags:
    - setup
    - freeipa
  register: freeipa_ipaconf
  always_run: true
  stat:
    path: /etc/ipa/default.conf
  when: inventory_hostname  == freeipa

- name: Setup FreeIPA Server
  tags:
    - setup
    - freeipa
  become: true
  when: freeipa_ipaconf.state.exist == False and inventory_hostname == freeipa
  command: >
    {{ freeipa_install_command }}
    {{ freeipa_setup_options }}


Can you help me resolve this issue?

Reply all
Reply to author
Forward
0 new messages