56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
---
|
|
- name: hass check_config
|
|
uri:
|
|
url: "https://{{ hass_url }}/api/config/core/check_config"
|
|
method: POST
|
|
status_code: 200
|
|
validate_certs: true
|
|
headers:
|
|
Authorization: "Bearer {{ hass_ansible_token }}"
|
|
Content-Type: application/json
|
|
return_content: true
|
|
# forces the handler to run normally in --check mode (make the http request)
|
|
check_mode: false
|
|
#diff_mode: true
|
|
register: handler_hass_config_check
|
|
when:
|
|
- hass_container_restarted.changed|default(false) == false
|
|
failed_when:
|
|
- handler_hass_config_check is failed
|
|
- handler_hass_config_check.status != 200
|
|
- handler_hass_config_check.json.get("result", "") != "valid"
|
|
notify: show_config_check
|
|
|
|
- name: hass wait_healthcheck
|
|
uri:
|
|
url: "https://{{ hass_url }}/api/"
|
|
method: GET
|
|
status_code: 200
|
|
validate_certs: true
|
|
headers:
|
|
Authorization: "Bearer {{ hass_ansible_token }}"
|
|
Content-Type: application/json
|
|
return_content: true
|
|
# forces the handler to run normally in --check mode (make the http request)
|
|
check_mode: false
|
|
#diff_mode: true
|
|
until:
|
|
- hass_health_check.status == 200
|
|
- hass_health_check.json is defined
|
|
- hass_health_check.json.message.endswith("running.")
|
|
retries: 300
|
|
delay: 1
|
|
register: hass_health_check
|
|
tags:
|
|
- hass-core-healthcheck
|
|
|
|
- name: show_config_check
|
|
debug:
|
|
var: handler_hass_config_check
|
|
when:
|
|
- handler_hass_config_check is defined
|
|
tags:
|
|
- hass-core-healthcheck
|
|
|
|
|