On 21/08/12 15:05 -0400, Michael Orazi wrote:
----- Original Message -----
I keep coming back to using puppet to handle the dev setup the more I
think about it. Granted, I am probably biased, having used it for at
least a man-year for better or worse :)
Here's what I think we need to be able to do:
1. Install required dependencies in a platform-agnostic manner.
Puppet
can do this (yum for rpm-based, apt for deb-based,
whatever-the-heck-mac-os-uses works too)
2. Clone dev-sources from upstream source (conductor, imagefactory,
deltacloud, audrey, configure?)
For 1 & 2, I wonder if we really want/need a hard division between deps & dev
sources.
I think it would be quite nice if we were able to switch between each src vs upstream
packages in puppet. This would have some level of impact on how the component is
configured (whether we need to move something to /etc/... vs
<my_code_checkout_dir>/...). If we were to specify full-on dev mode, it might
even be possible to do this as 'not root' from end-to-end, but that might require
fairly intimate knowledge of the manifests to know when it is 'ok'. Might be more
trouble than it is worth.
3. Drop any needed config files into the cloned source repos
4. Ad-hoc things to run (db:migrate, etc.)
5. Start services from source checkout
To me services is implying chkconfig or the like. Is it possible to run
entirely non-root-ified assuming we don't care about things like proxying
through apache and stuff like that.
FWIW, at least factory is not at all runnable as non-root.
That's at a high level. The reason I really tend towards puppet is
because in the details, there's a whole boatload of things that are
inter-dependent on each other and need to happen in some sort of
ordering, but at the same time need to be platform-agnostic. Puppet
is
good at this. Other tools will be a bear to make functional across
platforms and make sure all the dependencies are wired up properly.
Maybe I'm in an optimistic mood, but I think a first pass at this is
attainable within a single sprint.
Nice, I like it!