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 
> <[email protected]<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 <[email protected]>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 [email protected].
>>>>
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Michael DeHaan <[email protected]>
>>>
>>> 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 [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> -- 
> Michael DeHaan <[email protected] <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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to