You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is racy with the traefik workload: sometimes the remote app processes the event before traefik workload is in fact ready.
To Reproduce
Relate prometheus and traefik.
Environment
traefik-k8s edge 84
Relevant log output
# Prometheus gets the "ready-for-unit" event, but http requests still fail
Ingress for unit ready on 'http://pd-ssd-4cpu-8gb.us-central1-a.c.lma-light-load-testing.internal:80/cos-lite-load-test-prometheus-0'
config reload error via http://localhost:9090/cos-lite-load-test-prometheus-0/-/reload: HTTPConnectionPool(host='localhost', port=9090): Read timed out. (read timeout=2.0)
# After a while update-status fires, at which point the traefik workload is really ready and http reqs to prom work
Emitting Juju event update_status.
Starting new HTTP connection (1): localhost:9090
http://localhost:9090 "GET /cos-lite-load-test-prometheus-0/api/v1/status/buildinfo HTTP/1.1" 200 188
Additional context
No response
The text was updated successfully, but these errors were encountered:
todo: look at canonical/observability-libs#10 and consider implementing some liveness check by using that external process to wake up the charm when "traefik is done", and only then publish the relation data to tell "ingress is ready"
Bug Description
Currently,
ready_for_unit
is emitted based on relation events only:traefik-k8s-operator/lib/charms/traefik_k8s/v1/ingress_per_unit.py
Lines 692 to 695 in 4947410
This is racy with the traefik workload: sometimes the remote app processes the event before traefik workload is in fact ready.
To Reproduce
Relate prometheus and traefik.
Environment
Relevant log output
Additional context
No response
The text was updated successfully, but these errors were encountered: