#ansible #devops
#ansible #devops
Вопрос:
- name: "Waiting for URL to come up."
uri:
url: "{{ url }}/libs/granite/core/content/login.html"
status_code: 200
register: result
until: result.status == 200
retries: 10
delay: 10
fail:
msg: "Service was not available after 10 minutes. Files were installed except for the ones that required AEM to be available"
Я добавляю сообщение о сбое, чтобы при сбое задачи у нас был значимый результат.
Однако я получаю сообщение об ошибке:
line 3, column 3, but maynbe elsewhere in the file depending on the exact syntax problem.nnThe offending line appears to be:nnn- name: "Waiting for URL to come up."n ^ heren"}[0
Я проверил документацию, и, похоже, это правильный способ сделать. Чего мне не хватает?
Ответ №1:
Если вы посмотрите на документацию к uri
модулю, вы заметите, что там нет fail
параметра. Однако существует отдельный fail
модуль. Если вы хотите использовать это, вам нужно будет переписать свою uri
задачу так, чтобы она не вызывала сбой Ansible, а вместо этого записывала результат задачи, чтобы вы могли использовать его в последующем fail
действии.
- name: "Waiting for URL to come up."
uri:
url: "{{ url }}/libs/granite/core/content/login.html"
status_code: 200
until: result.status == 200
retries: 10
delay: 10
register: uri_result
ignore_errors: true
- name: fail with custom message
when: uri_result is failed
fail:
msg: >-
Service was not available after 10 minutes. Files
were installed except for the ones that required AEM
to be available.
Комментарии:
1. Можете ли вы записать «register» дважды, как вы это сделали?
2. Нет, вы не можете. Я не заметил более раннего :). Позвольте мне это исправить.
3. Просто вопрос, в этом случае вы используете uri_result, не удалось. ЕСЛИ я захочу использовать то же условие в других задачах после. Могу ли я просто использовать result.status == 200. Иначе как бы вы определили, был ли он успешным? Например: aem == «что-то и uri_result == ??
4. Вы, конечно, можете проверить
result.status
, если хотите. Вы можете проверить успешную задачу, проверивuri_result is success
.5. Отличные советы! Я также видел «не сбой». Это я добавил. Должно работать так же, как «is success» правильно?