I am trying to use
include_vars
based onwhen
condition as follows:- include_vars: clouderamanager.yml when: "'{{ inventory_hostname }}' in groups['hadoop-clouderamanager']" - include_vars: hadoop-namenode.yml when: "'{{ inventory_hostname }}' in groups['hadoop-namenode']" - include_vars: resourcemanager.yml when: "'{{ inventory_hostname }}' in groups['hadoop-resourcemanager']" - include_vars: spark-history-server.yml when: "'{{ inventory_hostname }}' in groups['spark-history-server']"
I am getting
ERROR! Syntax Error while loading YAML.
The error appears to have been in '~/ansible/roles/hadoop-master/tasks/main.yml': line 4, column 36, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - include_vars: clouderamanager.yml when: '{{ inventory_hostname }}' in groups['hadoop-clouderamanager'] ^ here
TASK [hadoop-master : include_vars] ********************************************fatal: [hnn001.dev.abc.com]: FAILED! => {"failed": true, "msg": "The conditional check 'inventory_hostname in groups['hadoop-namenode']' failed. The error was: error while evaluating conditional (inventory_hostname in groups['hadoop-namenode']): Unable to look up a name or access an attribute in template string. Make sure your variable name does not contain invalid characters like '-'.\n\nThe error appears to have been in '~/ansible/roles/hadoop-master/tasks/main.yml': line 6, 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- include_vars: namenode.yml\n ^ here\n"}
---role : hadoop-namenodemonitoring_tags : ""datadog_http_checks:- name: Magnetic {{ env }} NameNodeurl : http://{{ inventory_hostname }}:50070/dfshealth.jspthreshold : 5window : 5timeout : 10