Upgrading from 1.9.5 to 2.0.1.0 without changing the playbook, a task fails 
that used to work.

The error:

[DEPRECATION WARNING]: Skipping task due to undefined Error, in the future 
this will be a fatal error.. This feature will be removed in a 

future release. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.

An exception occurred during task execution. The full traceback is:

Traceback (most recent call last):

  File 
"/usr/local/lib/python2.7/site-packages/ansible/executor/task_executor.py", 
line 89, in run

    items = self._get_loop_items()

  File 
"/usr/local/lib/python2.7/site-packages/ansible/executor/task_executor.py", 
line 189, in _get_loop_items

    items = self._shared_loader_obj.lookup_loader.get(self._task.loop, 
loader=self._loader, templar=templar).run(terms=loop_terms, 
variables=self._job_vars)

  File 
"/usr/local/lib/python2.7/site-packages/ansible/plugins/lookup/subelements.py", 
line 37, in run

    terms[0] = listify_lookup_plugin_terms(terms[0], templar=self._templar, 
loader=self._loader)

IndexError: list index out of range


fatal: [somehostname]: FAILED! => {"failed": true, "msg": "Unexpected 
failure during module execution.", "stdout": ""}

to retry, use: --limit @deploy.retry


PLAY RECAP 
*********************************************************************

somehostname                  : ok=4    changed=1    unreachable=0    
failed=1 



The task:

- name: copy apt key files from all roles to /tmp
  become: no
  copy: src="{{ item.1.path }}/{{ item.1.filename }}" dest="/tmp/{{ 
item.1.filename }}"
  when: "'{{ item.0.role }}' in {{ role_names }} and '{{ item.1.pub }}' not 
in ansible_local.installed_apt_keys.key_list"
  with_subelements:
    - '{{ apt_keys_by_role }}'
    - '{{ keyfiles }}'


The relevant variables:

apt_keys_by_role:
  - role: common
    keyfiles:
      - path: "{{ inventory_dir }}/roles/common/files/apt_keys"
        filename: linode.gpg
        pub: 325A043E
  - role: dev
    keyfiles:
      - path: "{{ inventory_dir }}/roles/dev/files/apt_keys"
        filename: nodesource.gpg.key
        pub: 68576280



Ideas about what I need to do to fix this for 2.0?


Bonus points: how do you use pdb with Ansible's Python modules? I tried 
sticking import pdb; pdb.set_trace() before the line that produces the 
IndexError in 
/usr/local/lib/python2.7/site-packages/ansible/plugins/lookup/subelements.py, 
but that turns the error into a BdbQuit; the (pdb) prompt is printed but it 
insta-quits and keeps on going with the task.

-- 
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/6e93c2fc-65ae-4916-bd73-2dc705130316%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to