Direction for Conductor development scripts/tooling

Jan Provazník jprovazn at redhat.com
Tue Aug 21 13:16:11 UTC 2012


On 08/18/2012 12:17 AM, Crag Wolfe wrote:
> Currently, getting a conductor development environment up and running
> is non-trivial for most of the mortals among us.
>
>    Aside #1: It actually is pretty trivial at least on fc16 if you
>    follow these steps as mentioned by Matt Wagner on Freenode in
>    #aeolus: "I do the RPM install [yum install aeolus-all], run
>    aeolus-configure, and then copy the generated database.yml and
>    oauth.json into a new checkout of the source."
>
> I had taken a first cut at easing some of the pain with the conductor
> README[1] and associated gist scripts[2].  Jiří Stránský has also
> extended the scripts[3].
>
> The scripts "just work" in fc16/fc17/rhel63+ in that they install
> needed libraries, setup postgres, clone the github Conductor repo and
> execute the usual rails development steps.
>
>    Aside #2: The README describes how to set up a development
>    environment the Bundler way (using conductor-dev-root-prep.sh and
>    conductor-dev-setup.sh), but setting up a development environment
>    with *system-wide* gems and dependencies is also easy.  One would
>    first run aeolus-install-all-dependencies.sh before running the
>    other two scripts (where $using_bundler=no in
>    conductor-dev-setup.sh).
>
> The glaring issue right now is that they don't attempt to do anything
> with respect to setting up Image Factory, Deltacloud, etc. which means
> the user isn't going to get very far in the Conductor WUI when it
> comes to adding provider accounts, building images, etc.  As pointed
> out in #aeolus, aeolus-configure does this (and more) so grabbing a
> subset of this puppetry should do the trick.
>
> Now, here is where the conversation typically flies off the rails
> *cough* because there is the potential for all sorts of
> scripts/tooling.
>
> I think the short-term goal (and at this point it feels like
> low-hanging fruit by using part of aeolus-configure) is to modify the
> existing scripts to install and configure all the needed components.
> I.e., just follow these two steps to set up a development server with
> a sandbox based on the upstream Conductor code base.  This is
> primarily about helping new developers (who may or may not already be
> rails or linux experts).  And it would also be a boon to QA by
> providing a simplified way to test the upstream Conductor code base.
>
> *But* Aeolus has a slew of components (Conductor, Oz, Image Factory,
> Image Warehouse, Audrey) plus a dependency on deltacould.  It would be
> nice if the scripts/tooling could download, build and
> configure-with-reasonable-defaults upstream versions of all of the
> components, not just "yum install" stable versions as is currently the
> case (it would be nicer still if this could be done not-as-root) which
> is roughly what Jason proposed with "developer tooling"[4].
>
> I like the idea of developer tooling as a longer term goal.
> Obviously, if the tooling were completed, the Conductor development
> setup scripts/instructions could be adapted to leverage it.  However,
> at this point I would just like to reach consensus around the
> shorter-term goal regardless of whether we decide to proceed with
> developer tooling down the line.
>

It sounds like a good plan.

Actually I think a script for "fedora rpms + upstream conductor" setup 
would be useful anyway even if the developer tooling proposed by Jay had 
already existed - both QA and RH CloudForms developers will need this 
setup for development/testing.

The developer tooling would be useful for upstream community, ideally 
this tool wouldn't depend on distribution-specific requirements (e.g. 
using "yum install") and it would fetch projects from its source 
repositories. I'm not sure if it would be easier to tweak it for "fedora 
rpms + upstream conductor" setup than tweak aeolus-configure.


> --Crag
>
> References:
> [1] https://github.com/aeolusproject/conductor/blob/master/README.md
> [2] https://gist.github.com/3178181
> [3] https://github.com/jistr/aeolus-devel-setup
> [4] http://etherpad-aeolusproject.rhcloud.com/p/feature-developer-tooling
>
>

Jan



More information about the aeolus-devel mailing list