Hi James,
in Ansible version 1.9.2 the problem is still alive

[root@]# ansible --version
ansible 1.9.2
[root@]# date
Tue Dec  6 22:14:59 CET 2016
[root@]# ansible-playbook play03.yml


PLAY [localhost] 
**************************************************************


TASK: [set_fact foo="[ 'one' ]"] 
**********************************************
ok: [localhost]


TASK: [debug var=foo] 
*********************************************************
ok: [localhost] => {
    "var": {
        "foo": [
            "one"
        ]
    }
}


TASK: [set_fact foo="{{foo}} + [ '{{item}}' ]"] 
*******************************
ok: [localhost] => (item=two)
ok: [localhost] => (item=three)


TASK: [debug var=foo] 
*********************************************************
ok: [localhost] => {
    "var": {
        "foo": [
            "one",
            "three"
        ]
    }
}


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


Playbook run UUID: 0edf4886-bbf9-11e6-9392-005056a3151a




News?

Thanks

Ferdinand



Il giorno lunedì 30 marzo 2015 16:32:29 UTC+2, James Cammarata ha scritto:
>
> Hi Michaël, I've fixed this in the v2 code base, which also suffered from 
> the same problem. We will look at potentially fixing this in any future 
> 1.9.x releases as well.
>
> Thanks!
>
> James Cammarata
> Director, Ansible Core Engineering
> github: jimi-c
>
> On Mon, Mar 30, 2015 at 3:35 AM, Michaël Bitard <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I tried to construct an array with set_fact and I found this: 
>> http://stackoverflow.com/questions/23507589/is-it-possible-to-set-a-fact-of-an-array-in-ansible
>>
>> So I tested:
>>
>>   tasks:
>>     - set_fact: foo="[ 'one', 'two', 'three' ]"
>>     - debug: var=foo
>>     - set_fact: foo="{{foo}} + [ 'four' ]"
>>     - debug: var=foo
>>
>>
>> and it worked very well.
>>
>> But when I try to add a 'with_items':
>>
>>   tasks:
>>     - set_fact: foo="[ 'one' ]"
>>     - debug: var=foo
>>     - set_fact: foo="{{foo}} + [ '{{item}}' ]"
>>       with_items: [ "two", "three" ]
>>     - debug: var=foo
>>
>> It doesn't work, I get: 
>>
>> "foo": [
>>         "one", 
>>         "three"
>>     ]
>>
>> instead of: 
>> "foo": [
>>         "one", 
>>         "two",
>>         "three"
>>     ]
>>
>> Whereas this works: 
>>
>>   tasks:
>>     - name: set foo fact to an array
>>       set_fact: foo="[ 'one' ]"
>>     - debug: var=foo
>>     - set_fact: foo="{{foo}} + [ 'two' ]"
>>     - set_fact: foo="{{foo}} + [ 'three' ]"
>>     - debug: var=foo
>>
>> But is not suitable for my needs (It just proves that a fact can be 
>> overriden multiple times).
>>
>> The behaviour of with_items is not what I expected, is something wrong 
>> with my approach? 
>>
>> I'm using ansible 1.8.2 on ubuntu 14.04
>>
>> Regards,
>> Michaël
>>
>> -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/ca8f953f-6935-48da-9e4f-e02a6a0f95df%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/ca8f953f-6935-48da-9e4f-e02a6a0f95df%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/89a265d8-a1fe-4b68-9b1b-c6fa03ac27a7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to