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

[RFC] Installation Health Check for Sunbird #2917

Open
parthlawate opened this issue Sep 27, 2021 · 5 comments
Open

[RFC] Installation Health Check for Sunbird #2917

parthlawate opened this issue Sep 27, 2021 · 5 comments

Comments

@parthlawate
Copy link

PROBLEM STATEMENT
I've seen a lot of early adopters struggle with installation of Sunbird & new issues with installation keep cropping up as more aspects are tested. This can help onboard newer developers & adopters quicker.

PROPOSED SOLUTION
It would be nice to as a first step create a 'Installation Health Check' script that can check aspects that are missing, what services are not up , what aspects are not configured etc & show their status. We can also point to relevant documentation where some aspect is 'red'.

Would love thoughts & comments on this. cc @coolbung @vrayulu

@coolbung
Copy link
Contributor

Some thoughts on which health checks would be useful

Services

  • Check services using server side checks (i.e. player being able to communicate to all services health endpoints)
  • Check API endpoints with client side checks to identify any CORS etc issues
  • Check external connections like Azure blob

Configuration checks

  • Check and report key configuration variables are set
  • Check if other specific things video streaming settings are in place

For background jobs, it would be good to have a health.ping kafka topic where a health check event is added, and all jobs read events from this topic, perform their internal health checks and respond on a health.pong topic. The portal can then read from this topic and show the health of the backend jobs.

@pramodkvarma
Copy link

Excellent idea! Btw, we should NOT look at Sunbird as a monolith, rather, think of them as building blocks and have each building block contributor build "installation health check".

This is super critical. Otherwise, we will end up building some all inclusive health check tool. @vrayulu @madhucr

@parthlawate
Copy link
Author

So in effect we should do health check scripts on Building Blocks level & a 'collection' view can be built for Applications that combine different building blocks.. Maybe we can do a pilot one in sunbird RC ?

@pramodkvarma
Copy link

Yes! Agree, we should walk the talk by implementing in 2 BBs (one is a never a good sample). Take Sunbird-RC (pure building block) and maybe cQube (a solution). Then we should do one for Sunbird-Ed (large solution) once we have a good template in place.

@parthlawate
Copy link
Author

Yes multiple is a better .. Any other ones @coolbung from our experience from the ones being especially tricky which will give the adopters some quick benefit ?

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

No branches or pull requests

3 participants