Я использую Ansible для развертывания webapp. Я бы хотел дождаться запуска приложения, установив, что данная страница возвращает JSON с заданным ключом/значением.
Я хочу, чтобы задача была проверена несколько раз перед сбоем. Поэтому я использую комбинацию until
/retries
/delay
keybwords.
Проблема в том, что я хочу, чтобы количество retries
было взято из переменной. Если я напишу:
retries: {{apache_test_retries}}
Я попадаю в обычный Ямл Гоча (http://docs.ansible.com/YAMLSyntax.html#gotchas).
Если вместо этого я пишу:
retries: "{{apache_test_retries}}"
Я говорю, что значение не является целым числом.
ValueError: неверный литерал для int() с базой 10: '{{apache_test_retries}}'
Вот мой полный код:
- name: Wait for the application to be running
local_action:
uri
url=http://{{webapp_url}}/health
timeout=60
register: res
sudo: false
when: updated.changed and apache_test_url is defined
until: res.status == 200 and res['json'] is defined and res['json']['status'] == 'UP'
retries: "{{apache_test_retries}}"
delay: 1
Любая идея о том, как обойти эту проблему? Благодарю.