10gen / mongo-orchestration

Apache License 2.0
7 stars 11 forks source link

bind to 127.0.0.1 instead of all interfaces #138

Closed TylerBrock closed 9 years ago

TylerBrock commented 9 years ago

In order for downstream packagers of drivers (like linux distributions) to support testing via mongo-orchestration we must not start servers that globally bind to all interfaces. This is a requirement for the C++ driver (specifically CXX-383). @acmorrow can clarify if needed.

behackett commented 9 years ago

This would seem to limit how we can use these configurations. Maybe a better idea is to add a bind_ip option to MO itself?

TylerBrock commented 9 years ago

I couldn't decide whether it was clearer to have it in the configs and overwritten by the option instead of being a mystery parameter that is just silently added. This seemed like the way we were doing it (see: "enableTestCommands") Either way is good to me though.

llvtt commented 9 years ago

It would seem a bit odd to have only some mongod/mongos options configurable on MO startup and not all of them. Right now, all mongod/mongos configuration is given purely in HTTP requests or in the json presets. Perhaps we can add a --procParams option to MO that operates in a similar way to the "procParams" option in json documents: it adds those options as command-line flags to all processes started by MO. For example:

mongo-orchestration --procParams bind_ip=127.0.0.1 nojournal

would then launch mongod/mongos with --bind_ip 127.0.0.1 --nojournal.

Then we don't have to modify every configuration file when we want to add a new option that applies to all processes; we can just launch mongo-orchestration with the right options.

Thoughts?

TylerBrock commented 9 years ago

That sounds fine. I believe bind_ip 127.0.0.1 should be the default though. You should have to override in order to get different behavior (rule of least surprise).

TylerBrock commented 9 years ago

Closing this as is for now. We should take Bernie + Luke's suggested approach.