Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

l-monninger
Copy link
Collaborator

@l-monninger l-monninger commented Oct 21, 2024

Summary

  • RFCs: $\emptyset$.
  • Categories: 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 a healthcheck mode which would be run to serve this through the docker compose application. When we transition to k8s and helm throughout our infra this will be needed. An example of this approach is drafted in #727 .

Comment on lines +28 to +39
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
Copy link
Collaborator

@mzabaluev mzabaluev Oct 22, 2024

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.

Copy link
Collaborator Author

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.

Copy link
Collaborator Author

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.

@andygolay
Copy link
Contributor

@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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants