Hi. I'm running my playbook to get akamai to clear some caches and I'm using theit REST API that return json.
now I'm running into a problem with a look that I want to delay for X amount of seconds and X is part of the json response from the api so I'm doing something like : - name: Wait for akamai to clear action: uri url=https://api.ccu.akamai.com{{akamairesponse.json.progressUri}} method=GET user=xxx password=xxx HEADER_Content-Type="application/json" status_code=200 return_content=yes register: akamaistatus #- debug: msg="value of status {{akamaistatus.json.purgeStatus}}" until: "'{{akamaistatus.json.purgeStatus}}' == 'Done'" retries: 10 #delay: 60 delay: '{{akamairesponse.json.estimatedSeconds|int}}' debug shows : TASK: [debug msg="value of {{akamairesponse.json.estimatedSeconds|int}}"] ***** ok: [localhost] => { "msg": "value of 420" } but when I run the playbook I get this : TASK: [Wait for akamai to clear] ********************************************** <localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-1385160064.24-173468909890043 && chmod a+rx $HOME/.ansible/tmp/ansible-1385160064.24-173468909890043 && echo $HOME/.ansible/tmp/ansible-1385160064.24-173468909890043'] <localhost> REMOTE_MODULE uri url=https://api.ccu.akamai.com/ccu/v2/purges/ef63d1a5-5401-11e3-8c54-712f0c54712f method=GET user=xxx password=xxx HEADER_Content-Type="application/json" status_code=200 return_content=yes <localhost> PUT /tmp/tmpctvzt8 TO /usr/home/jamengual/.ansible/tmp/ansible-1385160064.24-173468909890043/uri <localhost> EXEC ['/bin/sh', '-c', '/usr/local/bin/python /usr/home/jamengual/.ansible/tmp/ansible-1385160064.24-173468909890043/uri; rm -rf /usr/home/jamengual/.ansible/tmp/ansible-1385160064.24-173468909890043/ >/dev/null 2>&1'] fatal: [localhost] => Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/ansible/runner/__init__.py", line 394, in _executor exec_rc = self._executor_internal(host, new_stdin) File "/usr/local/lib/python2.7/site-packages/ansible/runner/__init__.py", line 485, in _executor_internal return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args) File "/usr/local/lib/python2.7/site-packages/ansible/runner/__init__.py", line 688, in _executor_internal_inner time.sleep(delay) TypeError: a float is required FATAL: all hosts have already failed -- aborting I tried using jinga2 filter as float and int and it doesn't work is there a limitation with loops delay variables ? Thanks. -- 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.