Hi, I am introducing group_vars & children in my inventory into my Ansible environment as I need to update cron-tabs for different geographical regions using templates the basics of what you can see below. When I run the playbook it produces the error as seen at the bottom. A bit of research tells me that I am not the only 1 to see similar errors. Is this a bug that can be fixed with an upgrade or are there work-arounds? I've tried the vars file with different formatting to no avail.
Version Info : ansible 2.2.1.0 e.g. Template {{ daily_min }} {{ daily_hr }} * * 0 /path/weekly.sh > /dev/null 2>&1 {{ weekly_min }} {{ weekly_hr }} * * * /path/chk.sh > /dev/null 2>&1 e.g. Group_var --- - crons: - { daily-min: "15", daily-hr: "01" } - { weekly-min: "15", weekly-hr: "03" } e.g. Playbook - name: create crontab tags: cron template: src: templates/cron.template dest: /var/spool/cron/user owner: root group: root mode: 0644 backup: yes # ansible-playbook --ask-become-pass push-crons.yml --limit hostname --check -vvv ERROR! Unexpected Exception: dictionary update sequence element #0 has length 1; 2 is required the full traceback was: Traceback (most recent call last): File "/usr/bin/ansible-playbook", line 103, in <module> exit_code = cli.run() File "/usr/lib/python2.7/site-packages/ansible/cli/playbook.py", line 132, in run inventory = Inventory(loader=loader, variable_manager=variable_manager, host_list=self.options.inventory) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 98, in __init__ self.parse_inventory(host_list) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 165, in parse_inventory group.vars = combine_vars(group.vars, self.get_group_variables(group.name)) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 555, in get_group_variables self._vars_per_group[groupname] = self._get_group_variables(groupname, vault_password=vault_password) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 573, in _get_group_variables vars = combine_vars(vars, self.get_group_vars(group)) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 775, in get_group_vars return self._get_hostgroup_vars(host=None, group=group, new_pb_basedir=new_pb_basedir, return_results=return_results) File "/usr/lib/python2.7/site-packages/ansible/inventory/__init__.py", line 839, in _get_hostgroup_vars host_results = self._variable_manager.add_group_vars_file(base_path, self._loader) File "/usr/lib/python2.7/site-packages/ansible/vars/__init__.py", line 619, in add_group_vars_file data = self._load_inventory_file(path, loader) File "/usr/lib/python2.7/site-packages/ansible/vars/__init__.py", line 577, in _load_inventory_file rval.update(data) ValueError: dictionary update sequence element #0 has length 1; 2 is required Thanks. -- 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 post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/1f6d5354-cd89-416c-aefd-87845108d103%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.