sillsdev / languageforge-lexbox

Lexbox, SIL linguistic data hub
MIT License
7 stars 2 forks source link

Have lexbox API container check fw-headless health #1192

Closed rmunn closed 2 weeks ago

rmunn commented 3 weeks ago

Fix #1185.

Health checks for fw-headless container now go through lexbox-api's health check endpoint.

github-actions[bot] commented 3 weeks ago

C# Unit Tests

75 tests  ±0   75 :white_check_mark: ±0   5s :stopwatch: ±0s 13 suites ±0    0 :zzz: ±0   1 files   ±0    0 :x: ±0 

Results for commit ac6c8604. ± Comparison against base commit e751594d.

:recycle: This comment has been updated with latest results.

rmunn commented 3 weeks ago

Commit 67897602 implements the HealthCheckConfig idea I mentioned in the PR description.

rmunn commented 3 weeks ago

@hahn-kev - I might have done something slightly wrong with registering the health checks in ASP.NET — because when I just tested this in local-dev, the health check returned Unhealthy when I intended for it to return Degraded. I had everything up and running and the health checks were returning Healthy. Then I ran kubectl delete pod fw-headless-6bd44b6d66-tngql and immediately re-ran the health checks on http://localhost:5158/api/healthz.

It should have returned "Degraded" according to how we designed this (and I thought I'd implemented it correctly), but instead it returned "Unhealthy". However, I can't find my error; from what I can see, it should have been returning "Degraded" since it couldn't connect to the fw-headless health endpoint. So I need a second pair of eyes on the code to tell me what mistake I'm making.

rmunn commented 2 weeks ago

@hahn-kev - Unfortunately, you'll need to re-approve. I had to rebase on top of develop to fix a merge conflict in skaffold.yaml. And since my post-rebase was not the same set of changes that you approved (I removed the skaffold.yaml change since we're going to be deleting it soon anyway), that means GitHub doesn't auto-reapply your approval. (For all it knows, the two lines I removed from skaffold.yaml could have broken the whole application!)