Skip to content

Upstreaming fixes to RabbitMQ #18

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

Closed
dumbbell opened this issue Apr 23, 2015 · 11 comments
Closed

Upstreaming fixes to RabbitMQ #18

dumbbell opened this issue Apr 23, 2015 · 11 comments

Comments

@dumbbell
Copy link

Hi!

I'm working on RabbitMQ to fix the issues you encounter with RabbitMQ in a Docker image and I would like to discuss how I can help you (the corresponding issue on our side is rabbitmq/rabbitmq-server#113). I am very new to Docker so I apologize for any mistakes or non-sense :)

By looking at the Dockerfile, I see at least two problems you work around:

  1. Docker expects the contained application to write log messages to stdout. In rabbitmq/rabbitmq-server@68d628c (not merged yet), I propose to use the environment variables RABBITMQ_LOGS=- and RABBITMQ_SASL_LOGS=- to send everything to stdout. Is this ok with you?
  2. Apparently, rabbitmq/rabbitmq-server@ec851de broke the Docker image and you needed to use gosu and call the real rabbitmq-server script directly. Ironically, I made this change because a Docker user reported a problem with the lack of exec to start the server. I admit I didn't tested the fix in Docker by lack of knowledge/time and trusted him.

Is there anything else to ease the integration of RabbitMQ in Docker?

@tianon
Copy link
Member

tianon commented Apr 23, 2015

For the first issue, that patch looks awesome; so much love ❤️. I'd so love to stop sedding the startup script in the hacky way that we do.

For the second issue, I'm not sure there's going to be a good solution upstream -- sudo and su both behave poorly with respect to ttys, signal handling/passing, and staying resident in the process tree, which is why we use the simplified gosu which only does the setuid/setgid portion of the functionality of these other tools. I'd love to switch to using USER directly instead, but we can't do anything with permissions before starting the server if we do that, so that's a no-go.

@tianon
Copy link
Member

tianon commented Apr 23, 2015

If you've got any advice on #6, help or thoughts there (and anywhere/everywhere else) would be appreciated also. 👍

@dumbbell
Copy link
Author

Yeah, gosu seems perfect here. I was confident su(1) didn't fork a process but I was wrong... I'm going to remove that exec before su ... anyway, it's useless.

I will take a look at #6 in a week; I will be away for a few days.

Thanks for getting back to me so quickly!

@yosifkit
Copy link
Member

Thanks for caring about your docker users 😻.

@tianon
Copy link
Member

tianon commented Apr 23, 2015

Yeah absolutely; we love it when upstream actually gets involved. 👍 ❤️

@dumbbell
Copy link
Author

No problem, that's my pleasure! When you have issues with RabbitMQ, please don't hesitate to report them either on our mailing-list or on GitHub.

@dumbbell
Copy link
Author

dumbbell commented May 7, 2015

Hi guys!

I merged the two branches I had related to Docker (log to stdout, no need to "exec" before "su"). Do you see anything else we should fix?

FYI, we plan to release RabbitMQ 3.5.2 next week.

@yosifkit
Copy link
Member

yosifkit commented May 7, 2015

Thanks! I don't know of anything else, but I am not actively using it. Maybe one of our users like @vovimayhem would know something else that should be fixed?

@tianon
Copy link
Member

tianon commented May 7, 2015 via email

@vovimayhem
Copy link
Contributor

@yosifkit Not that I'm aware of... I stopped trying to persist the mnesia files in a mounted volume. I'm happy now (it was of no use on a second thought). The TSL/SSL issue I found was fixed a couple of releases ago.

❤️

@dumbbell
Copy link
Author

Great, thank you all for your feedback!

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

4 participants