Hi Mark/James, Do you guys know if there was a bug filed on this? I'm running into a similar thing in 1.5.3. If not i'll try and put together a minimal playbook to reproduce.
thanks, matt On Tue, Feb 4, 2014 at 6:50 PM, James Tanner <[email protected]> wrote: > Please file a bug for any tracebacks you find. We would definitely like to > know if you can reproduce this on 1.4.4 or on the latest devel. > > > On Tue, Feb 4, 2014 at 6:46 PM, Mark Casey <[email protected]> wrote: > >> For what it's worth, I tried taking out the reference to group_names and >> instead passed into the role as a variable a list of group names to test >> with. I still got the traceback. It doesn't happen if I just duplicate the >> task and use multiple copies of it that are even more hard coded such as: >> "{{ id }}_aStaticGroupName". Now the whole thing breaks horribly *past*that >> point because of the change, but the tracebacks stop. >> >> So AFAICT I get the traceback trying to use "{{ id }}_{{ item }}". >> >> Also I forgot to mention that I'm seeing this on v1.4.3. >> >> Thank you, >> Mark >> >> >> On Monday, February 3, 2014 4:01:14 PM UTC-6, Mark Casey wrote: >>> >>> Hello, >>> >>> I'm getting a traceback on a group_by, which is intended to create a >>> group named after each of a host's existing groups, prepended by a variable >>> that is being set with '-e' at invocation (a site/host-group ID): >>> >>> - name: vagrant | Create provider-agnostic ID_and_type group >>>> group_by: key="{{ id }}_{{ item }}" >>>> with_items: group_names >>>> when: provider == "vagrant" >>>> >>> >>> The variable *provider* is also being set via '-e'. So for example, a >>> host that was part of the dns and mail groups would be added to groups like >>> prodSite1_dns and prodSite1_mail. These are not being set statically in an >>> inventory file because sometimes it is run on ec2 hosts and the groups are >>> pulled from tags, and sometimes it is run on a vagrant box and the groups >>> are written into an inventory script. >>> >>> Here is what I'm getting when running with -vvvv: >>> >>> TASK: [iaas_gather_multi | ec2 | Create provider-agnostic ID group] >>>> *********** >>>> skipping: [localhost] >>>> >>>> TASK: [iaas_gather_multi | ec2 | Create provider-agnostic type group] >>>> ********* >>>> skipping: [localhost] >>>> >>>> TASK: [iaas_gather_multi | ec2 | Create provider-agnostic ID_and_type >>>> group] *** >>>> skipping: [localhost] >>>> >>>> TASK: [iaas_gather_multi | ec2 | Create provider-agnostic >>>> host-provisioned boolean] *** >>>> skipping: [localhost] >>>> >>>> TASK: [iaas_gather_multi | debug var=group_names] >>>> ***************************** >>>> ok: [localhost] => { >>>> "group_names": [ >>>> "db", >>>> "webnode" >>>> ], >>>> "item": "" >>>> } >>>> >>>> TASK: [iaas_gather_multi | vagrant | Create provider-agnostic >>>> ID_and_type group] *** >>>> created 'group_by' ActionModule: key={{id}}_{{item}} >>>> changed: [localhost] => (item=db) => {"changed": true, "groups": >>>> {"vagrant-devhost_db": ["localhost"]}, "item": "db"} >>>> created 'group_by' ActionModule: key={{id}}_{{item}} >>>> fatal: [localhost] => Traceback (most recent call last): >>>> File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line >>>> 394, in _executor >>>> exec_rc = self._executor_internal(host, new_stdin) >>>> File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line >>>> 514, in _executor_internal >>>> complex_args=complex_args >>>> File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line >>>> 685, in _executor_internal_inner >>>> result = handler.run(conn, tmp, module_name, module_args, inject, >>>> complex_args) >>>> File >>>> "/usr/lib/pymodules/python2.7/ansible/runner/action_plugins/group_by.py", >>>> line 86, in run >>>> del self.runner.inventory._vars_per_host[host] >>>> KeyError: u'localhost' >>>> >>>> >>>> FATAL: all hosts have already failed -- aborting >>>> >>> >>> Thank you, >>> Mark >>> >> -- >> 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]. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > 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]. > For more options, visit https://groups.google.com/groups/opt_out. > -- 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/CAMfrScd%3DhrhO77jroAKTxMuNwaMkZAhno1GSSMt6fNn_%3DWODfw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
