-
Notifications
You must be signed in to change notification settings - Fork 37
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
Stuck in **starting** state #61
Comments
Same problem here, after upgrade to 23.2.1 |
Unfortunately I can not work on the code until about about mid August. That said two thoughts:
thank you for raising this issue! |
Hello, docker containers has no explicit "starting" state. It has 'created' and 'running' states. in our case we have running state:
The problem appears first, when the container starts and there is no proper response for curl command on http://127.0.0.1:8888 after 5 minutes as desribed here: I assume that on port 8888 the ebusd is running and it accepts only http0.9 requests (because others are fail). So, after entering into the container with
after narrow down the http request version you will get another error and it hangs by curl:
(additionally, You can eliminate the hang with '--max-time 1' parameter but it does not solve the problem.) Anyway, the ultimate goal should be any non-error (200-OK) response from ebusd via http. I've stucked here. - I cannot get any prompt info from the daemon neither on TCP client (8888) nor on http client(8889) after authentication. So I think this (correct) direction is a dead end, more over these two ports are user configurable... - I'm assume that we are not able to check the health of the ebusd service via http requests. Additionally, don't forget, that the current image contains the version of curl 8.1.2. with several CVE-s, so it should be updated at least to version of 8.2.1 as soon as possible.... |
For TCP try
For HTTP it's
I believe all we need it's change HEALTHCHECK to The other way is check using TCP way, but I'm not sure what should indicate the daemon healthiness (the "signal" status?) Unfortunately I'm not familiar with HA addons, so I don't know how to test both approaches |
Well,
I've not tried it, but it should work. In this case port 8889 is not necessary. |
@mousetwentytwo could you check if the problems persist post merge of @cociweb's fix? |
It's still there: the fix does not change anything as port 8888 is only enabled when the option to expose the http server is set.
|
@tjorim, Have you tried to restart the supervisor? If the Supervisor restart does not resolve your problem, maybe your supervisor tries to reach a dead/renamed docker container.. In this case, please, try to reinstall your addon - maybe something messed up for you. |
For me it works. |
Yep, fix work, but consider that you should wait for 5 minutes until container becomes alive according to |
@ech0-py should we reduce the interval to say 10s or close this ticket as resolved? |
Well, I've also faced this 5min stuff today. |
Add-on may appear stuck in starting state.
Watchdog is advised to be turned off in this case.
It looks like the healthcheck is introduced for port 8888 hardcoded with a http curl call.
Altough if HTTP service is enabled it starts on 8889, and by default it has a TCP service n 8888.
Related:
Originally posted by @mousetwentytwo in #60 (comment)
Healthcheck code:
ha-addons/ebusd/Dockerfile
Line 21 in 5dd5631
Not sure for the cause, may be unrelated to HTTP.
The text was updated successfully, but these errors were encountered: