Understand your point, I was getting carried away since I found I bug in 
the URI module already :).

I wrote a bash script already to solve this issue because going back and 
forth on debugging takes time and I need this done today.

Since I still have the playbook I will try it again and debug to see if the 
problem goes away but I think I was using the wrong tool for the job. 

On Wednesday, 27 November 2013 03:16:21 UTC, Michael DeHaan wrote:
>
> Nope, this means it's much better to ask "what's wrong here, how might I 
> do this", than to jump in and say there's a bug in a particular module at 
> the first sign of trouble :)
>
> It looks like your data structure is set quite correctly, but I'd probably 
> start with {{ urls | to_json }} in the body for starters and debug from 
> there.
>
>
>
>
> On Tue, Nov 26, 2013 at 7:21 PM, PePe Amengual 
> <jose.a...@gmail.com<javascript:>
> > wrote:
>
>> sorry, this means a bug ?
>>
>>
>> On Tuesday, 26 November 2013 23:56:20 UTC, Michael DeHaan wrote:
>>
>>> This conclusion that there is something wrong with variable parsing is 
>>> incorrect because the variable parsing is quite generic.
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Nov 26, 2013 at 5:50 PM, PePe Amengual <jose.a...@gmail.com>wrote:
>>>
>>>>  Here is the info:
>>>>
>>>> I'm trying to send a json object to akamai with the uri module but it 
>>>> fails saying that is not a valid json object but the debug message shows 
>>>> in 
>>>> the right format.
>>>>
>>>> here is the requeriments from akamai : https://api.ccu.akamai.com/
>>>> ccu/v2/docs/index.html#section_OtherInterfaces
>>>>
>>>> Any ideas whi uri module changes from double quotes to single quotes ?
>>>>
>>>> Thanks.
>>>>
>>>> [playbook:
>>>>
>>>> ---
>>>> - hosts: localhost
>>>>   connection: local
>>>>   gather_facts: False
>>>>   tasks:
>>>>    - set_fact:
>>>>       urls: '{"objects":[{{urllist}}]}'
>>>>    - debug: var=urls
>>>>    - name: Flushing Akamai cache
>>>>      action: uri url=https://api.ccu.akamai.com/ccu/v2/queues/default
>>>>              method=POST user=aaaa password=aaa
>>>>               HEADER_Content-Type="application/json" 
>>>>              body='{{urls}}'
>>>>              status_code=201
>>>>              return_content=yes
>>>>      register: akamairesponse
>>>>
>>>> cat args.yml 
>>>> urllist: '"http://url/file/pepe.png","http://url/file/pepe.png","http
>>>> ://url/file/pepe.png","http://url/file/pepe.png";'
>>>>
>>>>
>>>> [jamengual@pepe ~]$ ansible-playbook -vvv -i /etc/ansible/hosts 
>>>> /home/jamengual/akamai.yml -e @args.yml
>>>>
>>>> PLAY [localhost] ******************************
>>>> ******************************** 
>>>>
>>>> TASK: [set_fact ] ******************************
>>>> ******************************* 
>>>> ok: [localhost] => {"ansible_facts": {"urls": {"objects": ["
>>>> http://url/file/pepe.png";, "http://url/file/pepe.png";, "
>>>> http://url/file/pepe.png";, "http://url/file/pepe.png"]}}}
>>>>
>>>> TASK: [debug var=urls] ******************************
>>>> ************************** 
>>>> ok: [localhost] => {
>>>>     "urls": {
>>>>         "objects": [
>>>>             "http://url/file/pepe.png";, 
>>>>             "http://url/file/pepe.png";, 
>>>>             "http://url/file/pepe.png";, 
>>>>             "http://url/file/pepe.png";
>>>>         ]
>>>>     }
>>>> }
>>>>
>>>> TASK: [Flushing Akamai cache] ******************************
>>>> ******************* 
>>>> <localhost> EXEC ['/bin/sh', '-c', 'mkdir -p 
>>>> $HOME/.ansible/tmp/ansible-1385480305.84-120825882016653 
>>>> && chmod a+rx $HOME/.ansible/tmp/ansible-1385480305.84-120825882016653 
>>>> && echo $HOME/.ansible/tmp/ansible-1385480305.84-120825882016653']
>>>> <localhost> REMOTE_MODULE uri url=https://api.ccu.akamai.
>>>> com/ccu/v2/queues/default method=POST user=aaa password=aaa 
>>>> HEADER_Content-Type="application/json" body='{'objects': ['
>>>> http://url/file/pepe.png', 'http://url/file/pepe.png', '
>>>> http://url/file/pepe.png', 'http://url/file/pepe.png']}' 
>>>> status_code=201 return_content=yes
>>>> <localhost> PUT /tmp/tmpHoHxi9 TO /usr/home/jamengual/.ansible/
>>>> tmp/ansible-1385480305.84-120825882016653/uri
>>>> <localhost> EXEC ['/bin/sh', '-c', '/usr/local/bin/python 
>>>> /usr/home/jamengual/.ansible/tmp/ansible-1385480305.84-120825882016653/uri;
>>>>  
>>>> rm -rf 
>>>> /usr/home/jamengual/.ansible/tmp/ansible-1385480305.84-120825882016653/ 
>>>> >/dev/null 2>&1']
>>>> failed: [localhost] => {"allow": "GET, HEAD, POST", "connection": 
>>>> "close", "content": "{\"title\": \"bad request\", \"httpStatus\": 400, 
>>>> \"detail\": \"Invalid JSON document\", \"describedBy\": \"
>>>> https://api.ccu.akamai.com/ccu/v2/errors/bad-request\"}";, 
>>>> "content_length": "149", "content_type": "application/api-problem+json", 
>>>> "date": "Tue, 26 Nov 2013 22:43:14 GMT", "failed": true, "redirected": 
>>>> false, "server": "Apache", "status": 400, "vary": "Authorization"}
>>>> msg: Status code was not 201
>>>>
>>>> FATAL: all hosts have already failed -- aborting
>>>>
>>>> PLAY RECAP ************************************************************
>>>> ******** 
>>>>             to retry, use: --limit @/usr/home/jamengual/akamai.retry
>>>>
>>>> localhost                  : ok=2    changed=0    unreachable=0   
>>>>  failed=1   
>>>>
>>>>  -- 
>>>> 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 ansible-proje...@googlegroups.com.
>>>>
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Michael DeHaan <mic...@ansibleworks.com>
>>>
>>> CTO, AnsibleWorks, Inc.
>>> http://www.ansibleworks.com/
>>>
>>>   -- 
>> 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 ansible-proje...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> -- 
> Michael DeHaan <mic...@ansibleworks.com <javascript:>>
> CTO, AnsibleWorks, Inc.
> http://www.ansibleworks.com/
>
>  

-- 
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 ansible-project+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to