-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Proposal :: Avoide Docker Pitfalls #6
Comments
Hi Blaggacao, PID1 and Zombie Processes: Syslogging: Cron vs systemd: Shutdown of the postgres container/process: Regards |
Hi Simon Disclaimer: I might not always used the correct terms, as I'm relatively new to most of the glossary. Give me hints, please and try to be fault tolerant. @ PID1 : iirc this aplies when only a docker process running, in distributed environments, one might want additionally an agent running (eg. consul agent) together with the docker or a templating service (eg consul-template) or just ntp. In the default deployment I think you would always have some very tiny helper daemons that are tied to the docker (while other tied to the node as well). Its intersting to know that odoo manages it's own stuff (thanks for the pointers), but one layer beyond, we hit this problem again. @ Syslog: I'm just thinking loud about possibilities to solve this kind of problem. A containerized syslog per node is certainly an appealing solution. We just have to be aware that some logs (eg. kernels) could be silently swallowed else. Of course odoo logging would be tied there to, however iirc systemd (as by know dominant design) comes with an integrated jurnalling solution. I would have to dig further into it to make statements about the journald architecture and implementation. @ Cron vs systemd: As systemd is gaining ground, and provides timer for services. I wonder if odoo is dependend on an external timing tool (eg. cron daemon) or if this is entirely managed by the cron worker. On an ideal container environemnt, I would run regular commands on ephemeral containers ( @ SIGTERM: It was just an example to illustrate dockers SIG behaviours... The question is of course, how does odoo (or better PID1) react to the signal send by docker stop and if the reaction is appropriate. [1] this touches the question where all kind of preforking should be done. I argue in line with 12 factor apps, that the containerized app itself should scale over the process model. like this the time trigger becomes responsibility of the distributed scheduler. (As well as managing worker container according to load). I'd love to hear your opinion if you see benefits in a containerized setup to make happen multiprocessing on the application layer. (iirc we can specify the cpu sets used by a docker run to make this a selsible option) Addendum to [1]: |
Hi,
So i'm sorry but i'll have to close this ticket. I know it's not the first of yours, sorry about that, but i would like to keep this place clean to quickly react to real issues*. Once again, this bugtracker is not the right place for this kind of discussion/questions, try one of our mailing list. It looks like you're interested in Odoo deployment, you should have a look at our deploying documentation if not already done and maybe propose some pull requests to complete it? Regards *Like when wkhtmltopdf changed its download url, we learnt it here (sure, we now have automated test to avoid this kind of stuff). |
the problem is: the mailing list is neither, or less. Because of the high background noise. We lack of a real solution to keep discussion focused and effective. I'm sory for ranting, but this is not satisfying... Other than that I agree with you. We'll keep contributing to the deplying doc in mind.. this seems like a good thing to do. |
Help avoid docker pitfalls by posting interesting resources to comon docker ceavats in order to improve the base image quality.
I'll do a start:
PID1 and Zombie Processes
Syslogging
cron vs systemd - actually scheduling should be shifted out of the main app-container and performed by ephemeral worker-containers against the persitence layer see aso problems of systemd within docker
SIGTEM handling at the example of a postgresql container for gracefull shutdown.. I doubt odoo does atomic operations...
The text was updated successfully, but these errors were encountered: