10gen / mongo-orchestration

Apache License 2.0
7 stars 11 forks source link

Add mongo version manager #142

Closed TylerBrock closed 9 years ago

TylerBrock commented 9 years ago

Idea: I was thinking about MO a bit this weekend and think it would be much better if we had a helper "mongo-version-manager" that would make the binaries you need on demand (or use those already available -- previously downloaded/extracted).

That way we:

NOTE: This is not a feature request, I just wanted to write it down somewhere so that I wouldn't forget it.

imlucas commented 9 years ago

https://github.com/imlucas/mongodb-version-manager

@wonderslug also has a get_binaries.py

Already in my queue to expose as a rest service in ec2 so you can just query GET for download urls, github compare urls, release notes, etc. Holler at me.

TylerBrock commented 9 years ago

Cool. We need to integrate it with MO so that this config file with hard coded paths dies.

stennie commented 9 years ago

There's also Aaron's m, which is a bash script so might be easy to drop in: https://github.com/aheckmann/m.

AFAIK it has no external dependencies aside from curl or wget.

TylerBrock commented 9 years ago

Last time I used M it copied binaries around instead of using links to manage versions. This created terrible terrible debugging scenarios with where the running binary was not replaced by the newly set version. Unless that's changed I can't recommend anyone use it for anything.

imlucas commented 9 years ago

@TylerBrock https://github.com/imlucas/version.mongodb.parts details in README. drop an issue on that repo if something is whack. waiting for DNS to propagate for http://version.mongodb.parts, but up and running and cache should flush shortly. Believe this is -1 external dependencies @stennie :)

imlucas commented 9 years ago

or fire up your own

Deploy

llvtt commented 9 years ago

If you don't specify a config file, MO will just use whatever mongo binaries are first on the PATH. Once your environment is set up, sounds like any of these solutions combined with not giving a config file to MO will get the job done. Doesn't seem like we need another tool to download MongoDB when these other solutions exist as well.

imlucas commented 9 years ago

Agree with @lovett89 though that the client to manage/install versions should be it's own module, not in orch.

@TylerBrock To close off earlier, added a python client example, more docs, and moved version.mongodb.parts to heroku. MCI binary artifacts might be a bit wonky because of it's modeling, so shout if there's an unexpected.

TylerBrock commented 9 years ago

Cool, thanks for the ideas everyone.

llvtt commented 9 years ago

Since we can have version managers outside of Mongo Orchestration, I'm going to close this issue. We can reopen if necessary.