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 [email protected].
To post to this group, send email to [email protected].
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.