Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions roles/telemetry_chargeback/tasks/ingest_loki_data.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
---
# Ingest data generated by gen_synth_loki_data.yml to Loki

- name: "Ingest data log to Loki via API"
- name: "TEST Push data to Loki {{ scenario_name }}"
block:

- name: "Push data to Loki"
- name: "POST data to Loki"
ansible.builtin.uri:
## loki_push_url will be used in future role developement
# loki_push_url is configured in setup_loki_env.yml
url: "{{ loki_push_url }}"
method: POST
src: "{{ cloudkitty_data_file }}"
body_format: json
client_cert: "{{ cert_dir }}/tls.crt"
client_key: "{{ cert_dir }}/tls.key"
# Note: ca_path not required with validate_certs: false, but included for consistency with retrieve_loki_data.yml
ca_path: "{{ cert_dir }}/ca.crt"
validate_certs: false
status_code: 204
return_content: true
register: loki_response
ignore_errors: false
failed_when: loki_response.status != 204

# Success
- name: "Confirm ingestion success"
- name: "Ingest Status Message"
ansible.builtin.debug:
msg: "Ingestion Successful!"
msg: "Ingestion Successful for {{ scenario_name }}"

rescue:
# Rescue block
- name: "Debug failure"
ansible.builtin.debug:
msg: "Ingest failed. Loki Status: {{ loki_response.status | default('N/A') }}"
- name: "IngestionFailed"
ansible.builtin.fail:
msg:
- "Scenario: {{ scenario_name }}"
- "Status: {{ loki_response.status | default('Unknown') }}"
- "Body: {{ loki_response.content | default('No Content') }}"
- "Message: {{ loki_response.msg | default('Request failed') }}"
Loading