-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Testnet Transaction Health #726
base: main
Are you sure you want to change the base?
Conversation
suzuka-client-e2e-simple-interaction-healthcheck-watcher: | ||
image: busybox | ||
container_name: ledger-should-progress-watcher | ||
command: > | ||
sh -c ' | ||
while true; do | ||
sleep 1000 | ||
done | ||
' | ||
depends_on: | ||
suzuka-client-e2e-simple-interaction-healthcheck: | ||
condition: service_healthy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand the purpose of this "service". Is it a stub to add the ledger-should-progress script from #717 later? The name is different, so it would not work as an overlay.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In docker-compose
, you can force the entire application to crash by creating a dependent service.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is "Induced Crash" above.
@radupopa369 this is the PR I had mentioned to you... I wasn't sure whether your monitoring already implements similar health checks, sending in transactions that simulate user interactions? |
Summary
networks
A simple implementation of a health check that uses the existing containers, towards MIP-26.
Note: the binary being used will only be valid for testnet as it requires a faucet. This can modified, however, s.t. this health-check approach can be generalized.
Induced-crash
Like #717 , this check will crash the docker-compose application on the whole if the test criteria aren't meant, thereby generating an outage that will be reported for monitoring.
Composition-based with Write to Common File
A slightly more sophisticated approach might be to write the exit code of the looped check into the
DOT_MOVEMENT_PATH
at a well known file and serve this status in the watcher.e2e Tests as Health Check Services
A more sophisticated approach still would adjust the running modes of the
suzuka-client-e2e-simple-interaction
to include ahealthcheck
mode which would be run to serve this through the docker compose application. When we transition tok8s
andhelm
throughout our infra this will be needed. An example of this approach is drafted in #727 .