Hi,

Assuming I have lookup plugins of such form:

Single

============================================

"""
"""
from __future__ import (absolute_import, division, print_function)
from ansible.errors import AnsibleError
from ansible.plugins.lookup import LookupBase

__metaclass__ = type


class LookupModule(LookupBase):

    def run(self, terms, variables=None, **kwargs):
        result="single_row"
        return [result]

============================================

Multiple

============================================

"""
"""
from __future__ import (absolute_import, division, print_function)
from ansible.errors import AnsibleError
from ansible.plugins.lookup import LookupBase

__metaclass__ = type


class LookupModule(LookupBase):

    def run(self, terms, variables=None, **kwargs):
        result=[ "row1", "row2"]
        return [result]



============================================

Play:

============================================

  - block:

    - name: Lookup 1
      set_fact:
        lookup1: "{{lookup('single')}}"

    - debug: var="lookup1"

    - name: Lookup 2
      set_fact:
        lookup2: "{{lookup('multiple')}}"

    - debug: var="lookup2"

    - set_fact:
        previously_it_was_working: "{{lookup1[0]}}"

    - set_fact:
        now_only_this_working: "{{lookup2[0]}}"


    - debug: msg="This debug should not be skipped 
{{previously_it_was_working}}"

    - debug: msg="This debug should not be skipped too 
{{now_only_this_working}}"

    - shell: "echo This might be errored but not skipped 
{{previously_it_was_working}}. And was working in Ansible 2.1"

    - shell: "echo This might be errored too but definitely not skipped 
{{now_only_this_working}}}. And was working in Ansible 2.1"

    - debug: msg="Nice to meet you http://github.com/voronenko";

    when: 1==1


============================================


Expected result:  returned array in both cases.

Side effect:  in more complex production play actions like below now 
sometimes are just skipped?

    - debug: msg="This debug should not be skipped 
{{previously_it_was_working}}"

    - shell: "echo This might be errored but not skipped 
{{previously_it_was_working}}. And was working in Ansible 2.1"

Instead I have play:

=======================
ansible 2.2.0.0
  config file = 
  configured module search path = Default w/o overrides

PLAY [Test play] 
***************************************************************

TASK [setup] 
*******************************************************************
ok: [localhost]

TASK [Lookup 1] 
****************************************************************
ok: [localhost]

TASK [debug] 
*******************************************************************
ok: [localhost] => {
    "lookup1": "single_row"
}

TASK [Lookup 2] 
****************************************************************
ok: [localhost]

TASK [debug] 
*******************************************************************
ok: [localhost] => {
    "lookup2": [
        "row1", 
        "row2"
    ]
}

TASK [set_fact] 
****************************************************************
ok: [localhost]

TASK [set_fact] 
****************************************************************
ok: [localhost]

TASK [debug] 
*******************************************************************
ok: [localhost] => {
    "msg": "This debug should not be skipped s"
}

TASK [debug] 
*******************************************************************
ok: [localhost] => {
    "msg": "This debug should not be skipped too row1"
}

TASK [command] 
*****************************************************************
changed: [localhost]

TASK [command] 
*****************************************************************
changed: [localhost]

TASK [debug] 
*******************************************************************
ok: [localhost] => {
    "msg": "Nice to meet you http://github.com/voronenko";
}

PLAY RECAP 
*********************************************************************
localhost                  : ok=12   changed=2    unreachable=0    failed=0 
 
========================

-- 
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/c336ce47-a88e-4ab9-98f9-b3e64153aa68%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to